回测在智能AI机器人与外汇EA中怎么去运行

回测的目的是提供证据,以证明外汇EA交易过程确定的策略在应用于历史数据和样本外数据时是能获得收益的。

这就为外汇EA策略在“现实世界”中的表现设定了预期。然而,由于种种原因,回测并不能完全保证智能化交易策略的成功。这或许是量化交易中最为微妙的领域了,因为这其中有许多的偏差,需要经过深思熟虑尽量消除偏差。

我们会讨论一些常见的偏差类型,比如前瞻性偏差,幸存者偏差和优化偏差(也称“数据透视”偏差)。回测中的其他重要领域还包括历史数据的可用性和清洗程度,考虑实际的交易成本和选择一个稳定的回测平台。

一旦确定了外汇EA交易策略,就应该获取历史数据用于测试,或更进一次用于完善智能交易策略。在期货、黄金、外汇等投资中都拥有大量的数据供应商。它们的售价会因数据质量、深度和实效性而有所区别。

开始外汇量化交易,最传统的开始手段(至少是散户开始的手段)是使用雅虎今日的免费数据集。在此我不会过多讲述这些供应商,而是集中于讨论处理历史数据集时可能会遇到的一般问题。
对历史数据的主要关注点在于准确性/清洗程度,幸存者偏差和企业行动(如股息和股票分割)的调整:

外汇EA交易策略的准确度和数据的整体质量挂钩,即它是否包含错误数据。有时,错误很容易被识别,比如使用窄带滤波器(spike filter),在时间序列数据中挑出错误的“高峰”并予以纠正。而有的时候又会很难发现。这时我们通常需要有两个或以上的供应商,来检验双方的数据。

幸存者偏差通常是免费或廉价数据集的一种“特征”。数据集具有幸存者偏差意味着它不包含不再进行交易的资产。就股票而言,指的就是那些退市或破产的股票。这一偏差意味着,在这样的数据集中,任何股票、期货、外汇或是黄金等策略都会比在“现实世界”中表现更佳,因为历史的“赢家”已经被预先挑选出来了。

企业行动包括企业进行的“后手”活动,这些活动通常会导致原始价格的阶跃函数变化,不应被包含在价格回报的计算中。股息和股票分割的调整是这类变化的罪魁祸首。在每一个这类动作中都需要进行一次反向调整。我们必须非常小心,不要将股票分割和真正的回报调整混为一谈。很多交易员都被这类企业行动坑了一把。

为了执行回测程序,我们得使用软件平台。你可以使用专用的回测软件,如Tradestation,或是数字平台,如Excel或MATLAB,或者使用编程语言如Python或C++进行自定义实现。

我不会Tradestation类似的软件或是Excel和MATLAB这类工具做过多研究,因为我相信可以搭建一个完整的自用技术栈,原因如下:这样做的一个好处是,哪怕是使用最先进的统计策略,都可以紧密地集成化回测软件和执行系统。特别是对于高频交易策略而言,使用自定义实现是至关紧要的。


回测系统时,必须能量化其性能表现。量化策略的“工业标准”指标是最大回撤率和夏普率。最大回撤率是指账户权益曲线在特定时间段内(通常是每年)的最大峰谷跌幅,通常以百分比的形式出现。

由于许多统计因素的影响,低频交易策略的最大回撤率通常会比高频交易策略高。历史回测会找出过去的最大回撤率,对未来的最大回撤率会有很大指导作用。第二个衡量指标是夏普率,定义是超额回报的平均值除以这些超额回报的标准差。

在这里,超额回报指的是战略回报高于预设基准,比如标准普尔500指数或是三个月的短期国库券。请注意,年化回报通常不是衡量的指标,因为与夏普率不同,它没有考虑策略的波动性。
一旦策略通过回测并被认为是基本没有偏差,还有了好的夏普率和最低限度的回撤率,是时候建立一个执行系统了。

发表评论

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