这也许是一个絮絮叨叨的专题,跟大伙儿唠一唠量化相关的小问题,有感而发写到哪算哪,这是第一期,先唠个10块钱的~
前段时间在某乎上看到这样一个问题『您怎么理解回测本身就是一种过度拟合?』
个人看来,回测本身是一个中性的量化工具,就像菜刀一样,既可以切菜切肉做出佳肴,也可以砍人砍物做出恶事,关键是看握在谁的手里。
回测一般是用来验证投资策略的有效性,把根据策略思路产生的交易放在历史数据当中检验,看最终是否达到预期当中的结果,如果在历史数据当中都没有良好的表现,估计在未来的实盘中够呛。
让回测出现过拟合现象,如果不是因为纯粹的无知,那就是因为人心的“贪婪”,很多人更倾向于相信更满意更美妙的回测结果,追求更高的收益率、盈亏比、夏普率和更低的回撤,而漠视这背后的风险,例如数据错误、幸存者偏差、参数孤岛等。
试想,一个策略有3个参数,每个参数有10个可选值,那这个策略就有1000条路径走向,现实当中可选值和路径走向会更多,只要你不停地优化探寻,总会摸到一条看起来非常美妙的幽径,在回测当中取得亮眼的绩效,这条风景旖旎的幽径是人性选出来,如果终点是悬崖峭壁,别忘记回测还曾告诉过你另外的999条路预示着今天的坎坷。
这就是咱们常说的“过度拟合”,捣蛋程度仅次于“未来函数”,上面说的是参数细节层面的过度拟合,还有宏观框架上的过度拟合也顺道儿提一嘴。
只要看的策略源码多了,什么奇怪的鸟都会碰到,以前拿到过一个策略,兄弟(不是上次年化收益577倍的那个哈)发来的回测曲线也非常漂亮,琢磨了很久,没有发现未来函数、偷价、低滑点那些,最终发现还是过拟合的锅,还是比较宏观的那种。
咋回事儿呢?是多空条件不对称,以及人为筛选品种造成的。
在源码里面,做多开仓要多重过滤,就跟公W员上岸百里挑一那样,做空开仓呢,就跟进超市买可乐一样,有72小时阴性就行,这种开空容易开多难的策略架构,搭配上近期总体趋势下跌的品种组合,收益曲线能不亮眼嘛。
所以啊,将来再碰上这种情况,要么把K线图翻转过来,或者把多空条件对调回来,看看策略怎么表现,要不然上了实盘,行情一旦翻转,就不要哭天抹泪了。
有的时候,冗余复杂的过滤条件跟过度优化参数一样可怕~