什么时候做策略的历史回测?
历史回测不代表未来为什么还要去做?
为什么回测结果完美,现实却啪啪打脸?
是否遗漏了什么关键?
阅读本文,寻找以上答案,大约需要3-5分钟。
上期(数学与交易5),已经详细讲解了开发一个可以长期盈利的交易系统是多么的困难,需要克服各种障碍。
今天来分享:如何用合理的技术手段去验证自己的交易系统是否可以长期盈利的可行性。
这需要利用计算机程序来做历史价格数据的回测,验证系统在过去的行情中是否有效。
值得一提的是,虽然历史测试结果不代表未来的表现,但这是一种发现统计意义下的规律的一个“笨办法”。
如果一个交易系统在历史价格行情中每次表现十分糟糕,我们可能无法有信心将它运用到未来的价格行情里。
在程序化测试自己的交易系统之前,需要处理几个关键问题:
首先必须拿到大量的足够精确的历史价格数据,如果价格数据失真或者精度不够(比如用D周期数据做日内交易系统检测),那么做历史回测将失去全部的意义;
其次要将交易策略完全准确地使用计算机语言来表达并且没有任何的算法漏洞(将策略写成程序)。
以上两条,保证了接下来工作的有效性,务必重视!
在测试途中,我们通常需要注意一些基本的方法就可以避免事倍功半,最常见的误区就是对于历史价格数据的过度拟合、过度优化。
比如,最后为了使交易测试结果显示优异,而不停的按照历史行情特点,有针对性地制定各种进出场规则或者使用特别多的变量参数不停地调试。
这无异于告诉计算机已知行情走势再去制定测试规则,这样的测试结果是毫无有效性的。
湃课认为的正确做法是:在策略中最多保有3-4个自由变量去做长时间范围内的回测(至少2年),如果测试结果表明最终可以产生正的期望收益,那么这个交易策略是值得被继续开发的。
值得注意的是:我们在做历史回测的时候一定要先用固定合约量做测试,并且一定要加上比实际交易成本稍高一点的交易成本包含在每次历史回测中(这是因为实际交易可能会有一些不可完全避免的执行成本,例如滑点。)
在确定了交易策略本身没有做头寸调整但长期的历史回测下依然可以产生正的期望收益后,我们为了优化交易业绩,使整体未来的净值回撤在一个可以接受的安全范围,我们可以采用保守的头寸调整规则,例如固定1%风险头寸调整,在尽量安全的基础上最大化利润。
外汇EA网历史回测里最重要的事:
1.给自己对交易系统的信心
2.完全了解系统在什么情况下会失效
例如如果交易系统是基于趋势跟踪理念而设计的,那震荡市场中就是会连续亏钱,对此要有心理准备。
最后,为了使自己在未来有更好的适应性,除了可以采用保守的头寸调整策略外,再开发别的基于不同交易理念的其它交易系统。
两个或多个外汇交易系统一起使用,实时监测调整资金配比权重,可能可以长期产生好的效果。
希望本文对你今后做出更科学的历史回测有帮助~
发表评论