用Excel进行快速回溯测试
初步的回溯测试可以在Excel表中进行,只需要将历史记录粘贴到Excel表中,输入公式,并运用于所有的单元格即可。最简单给不同交易类别赋值的方法就是以“-1”表示做空,“0”表示未入场,“1”表示做多,然后减去点差或者手续费后再计算盈亏。
在购买昂贵的回溯测试工具之前,我建议你彻底掌握Excel的使用方法,这可以让你从基础开始理解回溯测试的原理。
关于回溯测试的文章通常会建议你给历史数据设置两个相互矛盾的规则,一方面,你要尽可能地使用大的数据,以证明你的交易系统在任何情况下都可以运作;另一方面,你应该只在类似于当前市场条件的情况下测试你的交易系统。微妙的是,这里再次引入了主观概念,这不是指交易规则由交易系统所有者拥有,而是当前市场行情是完全基于主观判断的。比如,你在网站上看到某个交易系统的年回报率是22%,并在过去一年里达到了持续盈利,于是你准备购买这个系统(这也许还太早了)。
购买这个系统后,你严格地依照交易规则进行交易,但你并没有拿到22%的回报甚至还出现了亏损,这时他们会告诉你市场环境发生了变化,这个交易规则不再适用了(这个现象揭示出了回溯测试的一个常见错误)。
曲线拟合是统计学的术语,通常用来指非线性回归。举个例子,你要回溯测试一个包含两个参数的交易系统。第一次回溯测试时,你得到的是负回报;当你开始改变参数后,你发现得到了正回报。如果你选择的两个参数计算出了最高的回报,那么你在预测市场未来走势时会和你的回溯测试一样,于是你在回溯测试上面花了更多的精力,值实时市场情况可能会不一样。这可能和我们的直观感受不一样,但的确如此。你如何使这个固有的问题有所缓和呢?
减少回溯测试中的曲线拟合有许多方法,第一种方法就是保持你固有的交易思路。如果不论从市场行为还是市场波动,你都不知道怎么表达你的交易思路,那么你应该去绘图板上画下你的交易思路。此外,你可以在多个市场之间来回进行回溯测试来发掘最适合你的系统的市场环境和形态。当然,也许你可能只想在某个特定经济指标发布的那天进行回溯测试。另外,运用最新的市场数据进行回溯测试可以用来分析最近的市场波动。
高等数学提供的回溯测试指向了一个事实,即波动率和成交量呈现的是短期记忆,这是因为市场信息是由交易员所持有的只受近期行情影响的仓位组成的。这就是为什么长期回溯测试乍看很直观,却会导致过度的优化和曲线拟合的原因。