黄金

过拟合:量化里最常见的自欺

这是黄金段位的最后一篇,也是很多量化从业者认为最该被反复讲的一篇。前面讲的所有技术——因子构造、合成、组合构建——都可能在过拟合面前变成一场自我欺骗。

过拟合是什么

简单说:模型把历史里的偶然当成了必然。

历史数据里既有真实的规律(信号),也有纯粹的偶然(噪声)。如果你的模型足够复杂、参数足够多,它就能把噪声也"拟合"进去。结果是在历史上表现完美,因为它记住了答案;一旦到了没见过的数据上,那些记住的东西全都不适用,表现一落千丈。

打个比方:一个学生把过去十年的考题和答案全部背下来,考同样的卷子能拿满分,考新卷子就露馅。过拟合就是背书,不是学习。

它为什么特别容易发生在量化里

三个原因叠加。

数据和尝试次数太多。你可以测试几百个因子、几十种参数组合。尝试得越多,偶然出现一个漂亮结果的概率就越大——这不是因为它好,而是因为你试得够多。

反馈太快。写几行代码就能跑一次回测,立刻看到结果。这种快速反馈让人倾向于不断微调,直到曲线好看为止。每一步微调看起来都"有道理",累积起来就是过拟合。

没有自然的惩罚。主观投资里,一个错误判断会让你亏钱,反馈很痛。而在回测里,调参数到满意为止是不会痛的,痛感被推迟到实盘才出现。

怎么识别

几个信号值得警惕:

  • 参数敏感:关键参数改动一点点,结果就大幅下滑。真正稳健的规律不会这么脆弱。
  • 规则复杂到讲不出道理:如果你没法用两句话解释清楚这个策略为什么该赚钱,那它很可能是在记忆数据。
  • 收益集中在少数时段或少数标的:全部超额来自某几个月,或者来自几只特定的股票。
  • 样本内显著优于样本外:这是直接的检验。

怎么防范

留出样本外数据。把历史切成两段,用前一段做研究和调参,后一段完全不碰,只在最后检验一次。这是基本纪律。切分要注意:不能反复用样本外数据调参然后又说它是样本外——用过的就不再是样本外了。

控制尝试次数。做多重检验时要意识到:试一百次,哪怕全是噪声,也会有几次看起来显著。所以尝试次数越多,对显著性的要求就应该越高。一个简单的做法是记录自己到底试了多少个想法,而不只记住成功的那一个。

偏好简单模型。在效果相当时,选参数更少、逻辑更清晰的那个。复杂模型需要更多的理由才值得使用。

做参数稳健性检验。把关键参数在一片区域内扫一遍,看结果是不是平稳的高原,而不是孤立的尖峰。尖峰意味着你恰好站在了一个偶然的点上。

一个心态

过拟合最难的地方在于:它不是错误,而是自欺。没有人主观上想骗自己,但人天然倾向于相信好消息。所以要靠制度而不是靠自觉——把样本外检验、尝试次数记录、稳健性检验变成固定流程,而不是想起来才做。

一句人话:回测曲线越漂亮,越要先怀疑它。真正该问的不是"它历史上有多好",而是"它凭什么会好"。答不上来,多半是过拟合。

写在最后

黄金段位到这里结束。二十五篇讲下来,你已经能搭出一个完整的量化选股体系:从数据、因子、合成、检验、组合构建到成本、风控、归因,以及怎么避免自欺。

接下来进入王者段位,讲的是另一层问题:怎么把这套东西工程化、怎么让它长期稳定地运行,以及它的边界在哪里。第 26 篇从回测系统的工程实现讲起。

过拟合样本外检验多重检验参数敏感性模型复杂度

本文为投研学习参考资料,仅供研究参考,不作为投资决策依据。市场有风险,投资需谨慎。

← 返回智远教投