我花了大量的时间在网上寻找有 edge 的策略。我在炒股论坛上找到了一些帖子,发帖人公布了他们的策略,并附上了回测结果,效果都非常好。我挑选了几个,自己也编了个程序,用历史数据回测了一下。然而我发现我的回测结果普遍比不上原帖。这令我很困惑。实盘的效果比不上回测,我能理解。但是,同是回测,为什么我的结果就是比不上原作者呢?我苦苦思索,终于找到了一个最有可能的解释:我的回测只做了一次,而原作者极可能是做了很多次试验,然后挑选最好的那一次来发布。
我意识到了回测有一个非常严重的问题。几乎没有人能一次就成功。而在经历了失败之后很少人会马上就放弃。他会把策略稍作修改,换一换参数,然后把试验再做一遍。这种情况就好比是一个人去占卜问卦,占到不好的卦就再占一次,直到自己满意为止。这无疑会带来巨大的偏差(注意,是偏差 bias,不是误差 error)。这在统计上叫做 cherry picking,字面意思就是只把最好的樱桃挑出来。
可能有人会说,可以把历史数据分为两部分,training 和 testing,用training 的数据来调参数,然后用 testing 的数据来检验。但是,除非你第一次 testing 就成功(几乎不可能),你还是会把 training — testing 这个流程不断重复,始终是绕不过 cherry picking 这个问题。
cherry picking 带来的偏差并不是仅仅出现在股票交易回测,而是普遍出现在使用统计的所有领域。这是一个无法避免的偏差,因为这是由人性决定的。人总是渴望成功,不愿意接受失败的。一个研究项目可以用多种方式选择数据,可以使用不同的模型,可以对数据做各种预处理,可以选择不同的评分标准。这是一个庞大的组合数。研究人员或多或少总会有一些做选择的权限。他会在许可范围内有意无意地选择能做出自己想要的结果的那个组合,有意无意地引导研究项目向着自己想要的那个方向偏。更重要的是,一次试验不成功可以继续做。最后只需要把成功的那次发表,失败的试验只有自己知道。
2015年,在一项被称为 RPP(The Reproducibility Project: Psychology)的研究中,一个名为“开放科学合作组织”(The Open Science Collaboration,简称 OSC)的科学家团体对发表在三个心理学期刊上的100个实验做了大规模可重复性研究并发布至《科学》(Science),结果表明 97% 的原研究(Original Studies)得到了显著的效果,而复现研究(Replications)却仅有 36% 展示出了显著性,并且 83% 的复现效应都小于原研究的效应。我大胆猜测,论文结果不可复现,cherry picking 可能是主要原因。
经过这些分析,我最终痛苦地得出结论:现实世界的所有统计都是有偏的,无偏的统计只存在于理论之中。回到股票交易回测,所有回测都是有偏的,即使是自己亲自做的回测也并不可靠。回测只能提供一个大概的参考,never expect 实盘能跑出和回测相同的结果。如果用大数据挖掘的方法寻找出有 edge 的策略,那么这个 edge 可能并不存在。还是要对市场的底层逻辑有基本的认识。
(此文为本人原创,转载或者引用本文内容请注明来源及原作者)
网友评论