量化交易回测年化100%,实盘为何亏成狗?认知陷阱有哪些?
摘要:量化交易系列(五):回测年化 100%,实盘亏成狗——量化交易的五大认知陷阱 导语 我曾在一个量化社群里看到有人兴奋地分享:"我的策略回测年化收益 120%,夏普比率 3.5!" 群里一片
量化交易系列(五):回测年化 100%,实盘亏成狗——量化交易的五大认知陷阱
导语
我曾在一个量化社群里看到有人兴奋地分享:"我的策略回测年化收益 120%,夏普比率 3.5!"
群里一片沉默。不是因为大家嫉妒,而是因为所有有经验的人都知道:这种回测结果,100% 是假的。
不是故意造假,而是掉进了量化交易中最常见的陷阱——过拟合。
这是系列的最后一篇,也是我认为最重要的一篇。前四篇教你"怎么做",这篇告诉你"怎么避免自己骗自己"。
一、过拟合:量化交易的头号杀手
什么是过拟合?
过拟合(Overfitting)是一个统计学概念:你的模型不是在学习真实的规律,而是在记忆历史数据中的随机噪声。
一个直觉的比喻:
假设你要预测明天的天气。你翻看了过去 100 天的天气记录,发现了一个"规律"——每次前一天穿红色衣服的人超过 30%,第二天就会下雨。
在过去 100 天的数据中,这个规律可能确实成立(纯粹的巧合)。但用它来预测未来的天气,显然荒谬绝伦。
量化交易中的过拟合,本质上就是这回事:在历史数据中找到了看起来很强但实际上毫无因果关系的"规律"。
为什么过拟合如此普遍?
参数越多、数据越少,过拟合越严重。
假设你在设计一个交易策略,可以调整的参数包括:
均线周期(5 日?10 日?20 日?50 日?)
RSI 阈值(超买 70?75?80?)
止损比例(2%?3%?5%?)
持仓天数(3 天?5 天?10 天?)
交易时段(早盘?尾盘?全天?)
过滤条件(成交量?波动率?趋势强度?)
假设每个参数有 10 种选择,6 个参数就有 10^6 = 100 万种组合。在 100 万种组合中,总有几个在历史数据上表现"完美"——这不是因为它们有效,而是因为候选太多,总有碰巧拟合的。
这就是统计学中的多重比较问题(Multiple Comparisons Problem)。如果你掷一枚公平的硬币 100 次,得到连续 7 次正面的概率其实相当高。但如果你只展示那段连续正面的片段,声称"这枚硬币有问题",你就在做和过拟合一样的事。
如何识别过拟合?
1. 策略参数异常敏感
如果你的策略使用 20 日均线效果很好,但换成 19 日或 21 日就大幅恶化——这几乎肯定是过拟合。真正的市场规律应该对参数变化具有鲁棒性(Robustness)。
2. 收益曲线过于完美
如果你的回测净值曲线几乎是一条直线(没有明显回撤),要么是你发现了圣杯(概率接近零),要么是过拟合。真实的策略一定有显著的回撤期。
3. 策略逻辑缺乏经济学解释
"每周三下午 2:30 买入,周五收盘卖出"——这种策略可能在特定时间段的数据上回测良好,但没有任何经济学逻辑。没有逻辑的策略,赚的是噪声的钱,迟早会还回去。
4. 样本内和样本外表现差异巨大
样本内(用于开发策略的数据)年化 50%,样本外(未参与策略开发的新数据)年化 5%——典型的过拟合信号。
对抗过拟合的方法
1. 减少参数
奥卡姆剃刀原则:在同等解释力下,参数越少的模型越好。一个有 3 个参数的策略,比一个有 15 个参数的策略更可能反映真实规律。
2. 严格的样本外测试
将数据分为三部分:
训练集(60%):用于开发和调优策略
验证集(20%):用于选择最终参数
测试集(20%):只在最终评估时使用,绝不回头修改
如果在测试集上的表现和训练集差距不大,策略大概率是稳健的。
3. 跨市场验证
在美股上发现的策略,在 A 股、港股、欧洲股市上也有效吗?在加密市场呢?因子投资的学术研究之所以有说服力,正是因为核心因子在全球几乎所有市场中都被验证过。
4. 提高统计显著性门槛
Harvey 等人建议将 t 统计量的阈值从 2.0 提高到 3.0。换句话说,对"发现新策略"保持极高的怀疑态度。
二、幸存者偏差:你看到的成功故事都是假象
什么是幸存者偏差?
幸存者偏差(Survivorship Bias)是指你只看到了"活下来的"样本,没看到"死掉的"样本,从而得出错误的结论。
二战期间的经典案例:盟军分析返航轰炸机的弹孔分布,发现机翼和机身中弹最多,于是准备加强这些部位的装甲。统计学家 Abraham Wald 指出:你们只看到了返航的飞机。那些发动机和驾驶舱中弹的飞机——它们没有回来。 应该加固的恰恰是没有弹孔的部位。
量化交易中的幸存者偏差
1. 数据层面
如果你用当前的沪深 300 成分股回测过去 10 年的策略,你会遗漏那些曾经在指数中、后来被剔除(通常因为业绩恶化或退市)的股票。这会系统性地高估策略的收益——因为你的历史数据中只有"幸存者"。
