0

程序员AI量化理财体系课「完整」

四分卫
20天前 9

获课:xingkeit.top/16210/


量化回测避坑:过拟合、幸存者偏差解决方案

做量化交易的人,几乎都有过这样的经历:回测里曲线漂亮得像艺术品,年化收益高得吓人,最大回撤小得让人感动。满怀信心地实盘跑起来,结果却惨不忍睹——收益跑不出来,回撤控制不住,甚至直接亏钱。

这不是你运气不好,而是你的回测骗了你。说得直白一点,你在回测里看到的那个“完美策略”,很大程度上是过拟合和幸存者偏差共同制造的幻觉。

今天我就聊聊这两个量化回测里最大的坑,以及怎么填上它们。

过拟合:你让策略记住了历史,而不是学会了规律

过拟合是个什么概念?我用一个比喻来说。

你让一个学生复习考试,给他做了过去十年的真题。过拟合的学生不是去理解知识点、总结解题方法,而是把每道题的答案硬背下来了。结果考试的时候,题目稍微换了个问法,他就懵了。

量化策略的过拟合,本质上是一回事。你在历史数据上反复调整参数,试图让策略的表现“看起来更好”。参数越调越细,策略在历史数据上的表现也越来越漂亮。但问题在于,这些参数不是发现了市场的真实规律,而是恰好“记住”了过去特定行情下的噪音。

市场一变化,策略就失效了。

过拟合的典型表现有几个:参数特别多、策略特别复杂、回测曲线几乎是一条斜向上的直线没有任何波动。如果你看到这些信号,基本可以确定你的策略过拟合了。

怎么解决过拟合?我自己的经验有几个方向。

第一,少即是多。参数越少,过拟合的风险越低。能用一个参数解决的问题,不要用两个。能用简单规则解决的问题,不要用复杂的机器学习模型。

第二,留一份数据做“考场”。不要把全部历史数据都用来调参数。切出一段最后的数据作为验证集,在整个策略开发过程中完全不碰它。等你觉得策略调好了,用这段数据跑一次。如果表现依然不错,说明策略有一定泛化能力;如果表现大幅下滑,说明你过拟合了。

第三,做参数敏感性分析。你的最优参数是0.8,那0.79和0.81的表现怎么样?如果稍微偏离最优值,策略表现就急剧恶化,说明这个参数不稳定,实盘中很难维持。反过来,如果一个参数在一个范围内表现都差不多,那这个参数就比较稳健。

幸存者偏差:你看到的都是活下来的

幸存者偏差这个概念,很多人听说过,但在量化回测里真正重视的人不多。

简单说,幸存者偏差就是你只看到了活下来的那些,忽略了已经死掉的。

在量化回测里,最常见的幸存者偏差体现在选股上。你做回测的时候,用的股票池是“当前还存在的股票”。但十年前存在的很多股票,后来可能退市了、被并购了、或者跌得只剩零头了。如果你在回测中只考虑现在的股票,相当于你自动过滤掉了那些“坏股票”,回测结果自然会偏高。

这就好比你说“我调查了一百位百岁老人,发现他们都长寿”,这显然是废话,因为短命的人根本没机会被调查到。

幸存者偏差的另一个表现是数据清洗。很多历史数据提供商在整理数据时,会修正一些“明显错误”的数据。但问题是,这些“错误”在当时是真实存在的,可能导致了交易信号的误判。你用修正后的数据做回测,等于提前知道了答案。

怎么解决幸存者偏差?

最根本的办法是:使用“点时间”准确的历史数据。也就是说,你在回测2010年某一天的策略时,用的应该是2010年当时可获得的股票池和数据,而不是今天回溯整理后的数据。很多专业的数据服务商会提供这种“回溯测试数据库”,里面的股票池是随时间动态变化的——某只股票退市了,它在退市那天就从池子里消失了。

如果拿不到这么精细的数据,还有一个折中的办法:在回测中加入“淘汰机制”。比如主动排除那些市值长期过小、流动性差的股票。因为这类股票是退市和暴雷的高发区,排除它们虽然可能错过一些机会,但能让回测结果更贴近实盘的真实情况。

实战中的几个习惯

除了上面两个核心问题,我还有一些日常做回测时的习惯,分享出来供参考。

习惯一:交易成本不要算得太乐观。 很多人回测里设的滑点和手续费都是理想值,实盘根本做不到。我一般会设一个比实际预期高30%-50%的成本,如果策略在这个成本下依然能赚钱,实盘才有信心。

习惯二:关注极端行情下的表现。 很多策略在正常行情下表现不错,但一遇到2015年股灾、2020年熔断这种极端行情就直接崩了。回测的时候一定要看策略在历史上最差的几段行情里表现如何,这比看平均收益重要得多。

习惯三:实盘之前先做样本外跟踪。 策略调好了,不急着实盘。用模拟盘跑两到三个月,看看它在真实环境里的表现和回测结果有多大差距。这个“样本外验证”的过程,能发现很多回测里发现不了的问题。

写在最后

量化回测的本质,是试图从历史中寻找规律来预测未来。但历史不会简单重复,市场永远在变化。过拟合和幸存者偏差,就是我们在做这件事时最容易掉进去的两个坑。

踩坑不可怕,可怕的是踩了坑还不知道。希望这篇文章能帮你识别这两个坑,并且在未来的策略开发中,有意识地绕过它们。

记住一句话:回测里赚到的钱,不一定是你的;但回测里没踩到的坑,实盘一定会还给你。把验证做扎实了,才能在实盘里走得稳。



本站不存储任何实质资源,该帖为网盘用户发布的网盘链接介绍帖,本文内所有链接指向的云盘网盘资源,其版权归版权方所有!其实际管理权为帖子发布者所有,本站无法操作相关资源。如您认为本站任何介绍帖侵犯了您的合法版权,请发送邮件 [email protected] 进行投诉,我们将在确认本文链接指向的资源存在侵权后,立即删除相关介绍帖子!
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!