陷阱3:系统测试使用所有历史数据
在系统开发时 , 很多交易员可能出现的第三个错误就是在测试系统时使用所有可用的历史数据 。 大多数缺乏经验的交易员会对到今天为止所有的历史数据进行优化与分析 。 之所以这么做 , 是因为他们希望确保策略已经反映了对最新数据的调整 。 当然 , 如果第一次测试失败 , 交易员将在系统中添加一些规则或筛选条件(这样一来 , 就更可能出现前面提到的策略过于复杂的错误) , 然后再次运行所有数据 。 最终 , 交易员会找到一个可行的交易策略系统 , 并将这一系统运用到实际交易中 。 但在交易策略发生问题时 , 这种做法几乎总是必然的应对方法 。 一个更好但难度也更高的方法是通过对样本外数据的测试来验证一个交易系统 。 比如说 , 交易员可能会用过去10年的数据来制定交易策略 , 但保留最近一年的数据 。 当系统开发完成后 , 使用未知的(也就是样本外数据)进行测试;如果系统运行得较好 , 那么这一系统可以被用于实时交易 。
此外 , 还能采取移动窗格测试 。 这种方法使用多个样本外的时间段 , 更有可能获得成功 , 因为回测的净值曲线已经完全包括了样本外的优化结果 。 移动窗格测试或者样本外测试的一个缺陷在于:一旦样本外测试运行过一次 , 任何进一步的测试就不再是基于真正的“样本外数据”而进行的 。 因此 , 如果测试运行过很多次之后 , 很容易在不经意间就使得样本外测试变成了样本内测试 。 不过 , 样本外测试的方法还是要优于对所有数据进行优化的方法 。
系统开发没有捷径
设计一个可行的交易策略是相当困难的 。 事实上 , 很多交易员从来没有真正做到过这一点;很多时候 , 他们在开发系统时会走捷径或者在系统开发过程中出现过于简化的错误 。 当然 , 在系统中添加一条又一条规则、一个又一个筛选条件 , 比找到一条合适又简洁的规则要容易得多 。 同样地 , 如果不考虑佣金和滑移的摩擦成本 , 找到可行的策略也是相当容易的 。
最后 , 与移动窗格测试或者样本外测试相比 , 对所有可用的历史数据进行优化是一种相对简单的方法 , 得到的结果看上去会更好 , 实际却没有意义 。 问题的关键是 , 如果我们使用对所有数据进行优化的方法来建立交易策略系统 , 相当于设计出这样一个交易策略:只有在测试的时间样本内应用这一交易策略系统 , 才能获利 。 当然 , 这需要有一个时间机器 , 而这显然比建立一个有利可图的系统更为复杂 。 我们从上述系统开发的常见错误中得到的启示是:如果某一种方法使得系统设计变得更简单 , 或者回测的成功率明显提高 , 那么 , 这实际是一个可能有错误发生的警示信号 。 一个合理、恰当的系统开发过程总是困难重重的 。
有喜欢期货交易的朋友或想学习期货的朋友点点关注!!!
大海财富提示:本文章仅限于期货交流 , 不作为操作依据 , 如有损失自行负责!!!
文章来源于网络 , 如有侵权 , 请联系删除!!!
推荐阅读
- 警惕!价格大幅缩水,有人已被套牢
- 村民吵架被涂一嘴屎,愤怒端一盆扣在对方头上,结果被判刑6个月
- 年税高达3万亿元?房产税的出台到底有什么好处?
- 11分钟,10分7板1帽,你很强没错,但真没人尊重,还是请求交易吧
- 炒掉纳什!交易哈登!篮网6连败后岌岌可危,管理层该做决定了?
- 律师分析:“二手房”买卖交易过程中,有哪些常见法律风险?
- 40+12+18全能王?湖人猛龙2换1地震交易,名宿力挺他辅佐詹姆斯!
- 除了扎克伯格, 他以身价250亿美元成为世界历史第2位最年轻富豪。
- 32分+32分+33分+31分!湖人交易目标太猛了!老詹有望迎超级强援
- 金宝:2.2金价进入窄幅整理中,日内06空88多