摘要
回溯测试是优化交易者参与金融市场活动方式的重要一步,可帮助交易者了解当前的交易思路和策略是否合理,以及是否能带来潜在盈利。
导语
回溯测试是交易者或投资者在探索新市场和策略时可以使用的工具。回溯测试可基于历史数据提供宝贵反馈,并辨别投资理念是否合理。
无论是哪种资产类别的交易,回溯测试都无需交易者用辛苦赚来的血汗钱去冒风险。在模拟环境中使用回溯测试软件,即可构建和优化应对市场的特定方法。具体详见下文。
什么是回溯测试?
在金融领域,回溯测试可根据历史数据来测试交易策略的表现,以权衡其可行性。换句话说,它是使用过去的数据来观察策略的执行情况。如果回溯测试结果良好,交易者或投资者可着手将该策略应用于实际操作。
但是,什么才叫结果良好呢?使用回溯测试工具是为了分析特定策略的风险和潜在盈利能力。然后根据统计反馈来优化和提升投资策略,让潜在收益最大化。完善的回溯测试还可保证该策略在实际交易环境中至少具有可行性。
从更专业的角度来看,回溯测试交易策略绝对必不可少,尤其是算法交易策略(即自动交易)。
回溯测试如何运作?
使用误导性数据集进行回溯测试,结果也会不尽如人意。因此,必须找到反映当下市场环境的回溯测试时间段样本。由于市场变化莫测,实现起来尤为困难。
在对策略进行回溯测试之前,最好先确定究竟想要获得什么信息。策略如何才能可行?反过来说,怎样才能推翻个人假设?如果事先有所预见,结果就将很难影响到个人的偏见。
回溯测试应把交易手续费、提现费,以及策略可能产生的其他费用包含在内。同样需要注意的是,和获得高质量的市场数据一样,回溯测试软件相当昂贵。
回溯测试示例
来看看我们的交易系统:
- 我们在首次周收盘价高于20周移动平均线时买入比特币,
- 并在首次收盘价低于20周移动平均线时卖出比特币。
这种策略每年只产生几个信号。让我们看一下从2019年开始的时间段。
2019年以来的比特币周线图。
该策略在测定时间范围内产生了五个信号:
- 以约4,000美元的价格买入
- 以约8,000美元的价格卖出
- 以约8,500美元的价格卖出
- 以约8,000美元的价格卖出
- 买入 @ ~$9,000
因此,我们的回溯测试结果表明该策略当时应该可以盈利。这是否意味着以后也一定奏效呢?并不能。这只说明回望这组特定数据集,该策略当时应该能够盈利。这个结果只能当作大致基准。
请注意,我们只查看了两年以内的数据。如果希望转变成可执行的方案,则需要追溯回更早的时间段,结合更多价格行为进行测试。
回溯测试与模拟交易的对比
现在我们对回溯测试已有了大致了解,也研究了非常简单的投资策略,同时还知道过往业绩并不反映未来的结果。
模拟交易(纸面交易)是在实时交易环境中对策略进行模拟。之所以称为“模拟交易(纸面交易)”,是因为虽然交易记录在案,但没有使用到真实资金。这样不仅可以优化策略,还能了解到该策略的业绩表现。
这里需要警惕“择优挑选”,意思是仅选取某一部分数据来印证某种偏见。前向测试的意义在于将策略带入预设的真实环境中进行验证。如果系统给出操作建议,即可参照执行。如果仅凭个人偏好选择“看起来不错”的交易,那么系统对策略的测试将会失效。
手动与自动回溯测试的对比
手动回溯测试包括分析图表和历史数据,并根据策略手动执行交易。自动回溯测试本质上相同,只是由计算机代码自动执行过程,例如,使用Python之类的编程语言或专门的回溯测试软件。
最大跌幅是指交易策略与上一次峰值相比业绩表现最差的时刻,即分析时段内投资组合下跌的百分比最大。
总结
许多系统交易者和投资者极度倚重策略的回溯测试。这是所有算法交易者工具包中必不可少的一大法宝。
但与此同时,解读回溯测试的结果并非易事。回溯测试方法很容易掺杂个人偏见。仅凭回溯测试可能无法建立可行的交易策略,但是对测试交易思路和掌握市场脉搏却大有裨益。