量化交易系列(五):回测年化 100%,实盘亏成狗——量化交易的五大认知陷阱
量化交易系列(五):回测年化 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 年的策略,你会遗漏那些曾经在指数中、后来被剔除(通常因为业绩恶化或退市)的股票。这会系统性地高估策略的收益——因为你的历史数据中只有"幸存者"。
在加密市场,这个问题更严重:CoinMarketCap 上排名前 100 的代币每年更换约 50%。如果你用现在的 Top 100 回测过去三年的策略,你看不到那些曾经在 Top 100 后来归零的项目。
影响有多大? 学术研究表明,幸存者偏差可以使股票回测收益每年虚高 1%-3%。在加密市场,这个数字可能更大。
2. 策略层面
你看到有人在社交媒体上晒年化 80% 的收益曲线。但你没看到的是:
- 同时期有 99 个人用类似策略但亏损了,他们不会发帖
- 这个人可能同时跑了 10 个策略,只展示了表现最好的那个
- 这个人的收益可能只持续了 6 个月,而你以为是"长期业绩"
Warren Buffett 的"幸运猩猩"比喻:如果让全美国 3 亿人掷硬币,每天掷一次,掷错的淘汰。20 天后,大约还剩 300 人——他们连续 20 次掷出了正面。这 300 人会上新闻,写书分享"掷硬币的秘诀"。但他们的成功完全是概率问题,和技术无关。
3. 基金层面
对冲基金行业的幸存者偏差极其严重。业绩差的基金会被清盘、从数据库中删除,导致行业平均业绩被高估。研究显示:修正幸存者偏差后,对冲基金行业的真实年化超额收益可能只有 2%-3%,远低于公开宣传的数字。
三、前视偏差:偷看了答案还以为自己很聪明
什么是前视偏差?
前视偏差(Look-Ahead Bias)是指在回测中使用了当时不可能获得的信息。
最常见的例子:
- 用年报数据做策略,但假设 1 月 1 日就能获得上一年的年报——实际上年报可能到 4 月才发布
- 用调整后的价格(复权价)做回测——但在交易发生的当天,你不知道未来会有分红或拆股
- 用"下一秒"的价格成交——你的策略在 14:59:59 生成买入信号,但回测假设以 14:59:59 的价格成交。实际上,你的订单需要时间传输和撮合,真正的成交价可能是 15:00:01 的价格
加密市场的特殊前视偏差
- 交易所上币/退市信息:如果你的策略基于"某代币被 Binance 上架"的事件,但回测中假设你提前知道了上架消息——这就是前视偏差
- 链上数据延迟:区块链数据的确认需要时间(BTC 约 10 分钟,ETH 约 12 秒)。如果回测假设链上交易"立即"可见,就引入了前视偏差
- 流动性快照:用收盘时的订单簿深度来评估日内交易的滑点是不准确的
四、选择偏差:只看你想看的
确认偏差
人类天然倾向于寻找支持自己观点的证据,忽略反面证据。
在量化交易中,确认偏差表现为:
- 你相信"金叉是买入信号",于是只回测了金叉有效的案例,忽略了金叉失败的案例
- 你的策略在 2019-2021 年表现很好,你就认为它是有效的,而不去看它在 2022 年的表现
- 你读了一篇支持你策略逻辑的论文,就深信不疑;但忽略了三篇反驳该逻辑的论文
数据窥探偏差
数据窥探(Data Snooping)是指反复在同一组数据上测试不同的策略,直到找到一个"有效"的。
这就像在一块靶纸上随机射击,然后在弹孔最密集的地方画一个靶心,声称自己是神枪手。
一个血淋淋的案例:有研究者发现"超级碗指标"——如果 NFC 球队赢得超级碗,股市当年上涨;如果 AFC 球队赢,股市下跌。 这个"规律"在 1967-1997 年间的准确率高达 90%!
当然,这完全是荒谬的。橄榄球比赛和股市没有任何因果关系。但如果你搜索足够多的体育赛事、天气模式、天文事件,总能找到和股市"高度相关"的东西——纯粹是概率。
五、黑天鹅与厚尾:模型之外的风险
已知的未知 vs 未知的未知
Donald Rumsfeld(美国前国防部长)的著名分类:
- 已知的已知:你知道市场有波动
- 已知的未知:你知道可能发生金融危机,但不知道什么时候
- 未知的未知:你完全没想到的风险——这就是黑天鹅
量化模型擅长处理前两类,但对第三类几乎无能为力。
2020 年新冠疫情是一个教科书级的黑天鹅:没有任何基于历史数据训练的模型预料到"全球经济突然停摆"这种场景。标普 500 在 23 个交易日内暴跌 34%,创下史上最快跌入熊市的纪录。
关键认知:量化模型是基于历史数据的,但未来不一定重复历史。 模型能告诉你"在过去的数据中,最大回撤是 30%",但不能保证未来的最大回撤不是 60%。
模型风险
2012 年,摩根大通的"伦敦鲸"事件:一名交易员 Bruno Iksil 在信用衍生品上建立了巨额头寸,基于的模型严重低估了风险。最终亏损超过 62 亿美元。
事后调查发现:交易团队修改了风险模型的参数,使其显示的风险更低,从而可以建立更大的头寸。
教训:模型是工具,不是真理。如果你发现自己在调整模型以"适应"你想做的交易,而不是让模型指导你的交易——你已经掉进陷阱了。
六、实战中的防御清单
基于以上五大陷阱,这里提供一份实战防御清单:
策略开发阶段
回测阶段
实盘阶段
七、终极认知:谦逊是量化交易者最重要的品质
写到最后,我想分享几句话,它们分别来自量化交易领域最受尊敬的几位人物:
Jim Simons(文艺复兴科技):
"我们不是比别人聪明,我们只是犯的错误比别人少。"
Ray Dalio(桥水基金):
"如果你不担心自己可能是错的,那你一定会犯大错。"
Ed Thorp(凯利公式在投资领域的先驱):
"长期成功的关键不是找到最好的机会,而是避免最坏的结果。"
这些话有一个共同主题:谦逊。
谦逊意味着:
- 承认你的模型是对现实的简化,不是现实本身
- 承认你的回测结果可能包含偏差
- 承认市场可能做出你完全没预料到的事情
- 承认你可能是错的
量化交易的目标不是"永远正确",而是"在错误中存活,在正确时获利"。
系列总结
五篇文章,我们走过了这样一条路:
- 底层逻辑:Alpha 从哪来、市场微观结构、期望值思维
- 经典策略:动量、均值回归、统计套利的原理和局限
- 风险管理:仓位管理、回撤控制、尾部风险、杠杆
- 多因子模型:因子的定义、六大核心因子、因子组合
- 认知陷阱:过拟合、幸存者偏差、前视偏差、黑天鹅
如果只记住一句话:量化交易不是"找到一个赚钱的公式然后躺着数钱"。它是一场永无止境的军备竞赛,需要持续的学习、严格的纪律和深刻的自我怀疑。
市场是所有参与者智慧(和愚蠢)的总和。你能从中获利的唯一方式,是拥有某种可持续的优势——信息的、分析的、结构的或行为的。而维持这种优势的代价,是持续的努力和永远不放松的警惕。
祝你在这场游戏中,活得比别人更久。
免责声明:本系列文章仅为教育目的,不构成任何投资建议。金融市场存在极高风险,请在充分了解风险后做出自己的判断。
关注公众号「coft」,获取更多 AI 时代的深度思考。

浙公网安备 33010602011771号