外汇EA策略—最小化交易成本

执行系统是指将一系列由策略生成的交易发送给经纪去执行的系统。尽管实际上交易生成可以是半自动或全自动的,执行机制会是全手动、手动的(如“点击一次”)或全自动的。对于低频交易策略,手动和半手动技术是非常常见的。

对于高频交易策略,必须搭建一个全自动的执行机制,(由于策略和技术的相互依赖),该机制通常与交易生成器紧密耦合。

外汇AI机器人

搭建执行系统时最优先考虑的是与经纪业务的对接,最小化交易成本(包括佣金、时延和差价)以及实时系统和回测系统性能之间的差异。


与经纪业务的对接实现方式有很多,可以和直接打给你的交易员,或是编写一个全自动化的高性能程序编程接口(API)。理想情况下是希望尽可能地自动化执行交易操作。能让你有时间关注于进一步的研究,并且允许你同时运行多个策略,甚至更高频的策略(实际上如果没有自动执行,高频交易基本上是不可能实现的)。上述常用的回测软件,如MATLAB、Excel和Tradestation,使用较低频率和较简单的策略时表现尚可。然而,如果要执行高频交易策略的话,必须要用C++等高性能语言编写搭建一个自用执行系统。说个题外话,在我以前工作的基金机构中,我们有个10分钟的“交易循环”,每10分钟下载一次新的市场数据,然后在同一时间段内基于该信息进行交易,使用的是优化后的Python脚本。若是分钟级或秒级的数据,我相信C语言或C++会更理想。


在更大的基金机构中,优化执行往往不是外汇量化交易员的职责。然而在小公司或是高频交易型公司,交易员就是执行者,因此需要更广泛的技能组合。请记住,如果你想在基金机构工作,你的编程技术和你的统计学和计量经济学知识同样重要,甚至更重要。

另外一个在执行层面需关注的重要问题是如何最小化交易成本。交易成本通常由三个部分组成,佣金(或纳税),由经纪机构、交易所和证监会(或其他类似的政府监管机构)规定收取的费用;时延,即打算提交订单的时间和实际提交订单的时间差;差价,即交易证券买卖价格的差别。请注意,差价不是恒定的,而是取决于当前市场上的流动性(如买卖订单是否可用)。
交易成本会区分开拥有良好夏普率的可盈利策略和拥有较差夏普率的不可盈利策略。使用回测较难准确预测出交易成本。根据策略的频率,需获得历史的交易数据,其中包括买卖价格的勾选数据。基于这些原因,大型基金机构的整个量化团队都会致力于优化执行情况。
考虑这样的场景:某基金机构需要抛售大量交易(这样做的原因有很多)。抛售如此大的份额到市场上,会迅速地压低价格,从而得不到最佳执行。因此将订单慢慢流入市场的算法是存在的,尽管这样做会导致基金机构时延的风险。除此之外,还有一些针对这些必然性并利用其效率低下的其他策略。这就属于基金结构套利的范畴。

执行系统最后一个主要问题是关于策略性能和回测性能的差异的。产生差异的原因有很多。我们在考虑回测时,已经深入讨论过前瞻性偏差和优化偏差的问题了。然而,有些策略在部署之前并不能很好地测试出这些偏差。这主要发生在高频交易中。

在执行系统和交易策略本身都可能存在漏洞,这些漏洞并不会在回测时出现,但却会出现在实时交易中。在外汇EA策略实施后,外汇市场可能会出现制度变化。新的监管环境、不断变化的外汇投资者情绪和宏观经济现象都可能导致外汇市场行为的变化,从而改变你量化交易策略的盈利能力。

发表评论

邮箱地址不会被公开。 必填项已用*标注