← 返回首页
我写了个策略,回测年化58%,实盘三个月亏了17%——复盘发现不是市场骗我,是我自己骗自己:参数扫了2000组,总有一组是神
💤 小Q · 2026-10-16 · 量化策略
我写了个策略,回测年化58%,实盘三个月亏了17%
先说结论:这个策略后来被我亲手删了。删之前我给它办了个'葬礼'——把回测报告打印出来贴在显示器边上,标题写着《人是如何骗过自己的》。现在每当我想调参数调到心花怒放的时候,瞟一眼那张纸,就冷静了。
今天把这段翻车经历完整拆开讲讲,因为我发现身边踩同一个坑的人,实在太多了。
一、事情是怎么开始的
去年年底,我写了个均线+动量的混合策略。逻辑不复杂:短期均线上穿长期均线且动量排名靠前就买入,跌破止损。很经典的框架。
第一版回测,年化21%,不错但不出彩。
然后问题就出在'不出彩'这三个字上。
我心想:再调调参数呗。均线周期从(5,20)试到(10,60),动量窗口从10天试到60天,止损从3%试到15%。写了个循环,一共扫了2100多组参数组合。
扫完之后,有一组参数,年化58%,最大回撤8%,夏普比率2.7。
我当时激动得差点给这组参数烧香。心里想的是:'找到了!市场的密码!'
现在回头看,密码两个字应该倒过来写。
二、实盘三个月:58%变成了-17%
今年一月初上的实盘,仓位不重,因为我也留了心眼,只投了总资金的15%。
一月份:-2%,'正常波动,淡定。'
二月份:-6%,'开年行情差,正常。'
三月份:-10%累计。我开始坐不住了,打开回测一看:同样的参数,过去五年里从来没有连续三周亏损超过4%的。
三月底清仓核算:实盘三个月,-17%。
回测年化58%,实盘年化(按这三个月折算)大约-51%。中间差了一百多个百分点。这不是市场不给饭吃,这是我压根就没在跟市场对话,我在跟自己2000组参数里那个'天选之子'对话。
三、过拟合到底是怎么发生的
我用一个比喻讲清楚这件事。
假设你有一万把钥匙,一扇锁着的门。你挨个试,总会有一把能捅开——但那不代表那把钥匙是'为这扇门定制的',可能只是它形状碰巧差不多。
参数扫描就是配钥匙。2100组参数在历史数据上跑,哪怕策略逻辑完全是垃圾,也总有一两组参数'碰巧'躲开了历史上所有的大坑、吃到了所有的大肉。这组参数在历史数据上是神,在新数据上就是普通人——因为它所有的'优秀'都来自对过去的记忆,而不是对未来的理解。
更扎心的是:参数越多、扫描范围越大,这种'碰巧的神'出现概率就越高。我扫2100组,理论上哪怕完全随机的策略,也大概率能扫出一组回测夏普超过2的。这不是我找到了alpha,这是我找到了噪声里的幸运儿。
四、四个识别过拟合的硬指标
翻车之后我痛定思痛,给自己定了四条检查标准。现在每写一个策略都过一遍:
1. 参数高原测试。 好策略的参数邻域应该都赚钱。把我的'神参数'(13, 47)改成(12, 46)或(14, 48),年化从58%直接掉到11%。真正的盈利逻辑应该是'参数高原'——附近一片都还行;而我这个是'参数尖峰'——一座孤峰,周围全是悬崖。孤峰=过拟合,基本一抓一个准。
2. 样本外测试。 用2016-2021的数据选参数,2022-2025的数据只测一次、不许再调。我那组参数:样本内年化58%,样本外年化6%,扣掉交易成本后约等于躺平。样本内外差距超过一半的,基本可以判死刑。
3. 收益来源归因。 拆开看这58%从哪来:归因分析发现超过40%的利润来自2019年2月和2020年7月两波行情,各满仓吃满。也就是说六年里赚大钱的就两个月,其他时间半死不活。这种'靠两次彩票撑起来的曲线',你敢信它未来还能再中两次?
4. 参数敏感度对称测试。 好策略对参数微调应该不敏感。我把止损从8%调到7%或9%,年化直接腰斩——说明这个8%不是'逻辑需要8%',而是'历史数据刚好在8%这里没触发几次止损'。纯纯的记忆,不是逻辑。
五、我现在怎么防自己
规则一:参数扫描上限100组。 超过就说明我没想清楚逻辑,是在'让数据告诉我答案'——而数据会告诉你任何你想听的答案。
规则二:'回测打七折'纪律。 样本外年化乘以0.7,再扣2个点的实盘磨损,才是我对这个策略的真实预期。58%×0.7-2≈38%?不不,是样本外的6%打七折,约4%。预期一降下来,很多策略自己就不好意思上实盘了。
规则三:逻辑先行。 现在写策略前必须先用一句话说清楚'这个策略赚的是谁的钱'。动量策略赚的是趋势延续者的钱,网格赚的是震荡中情绪化交易者的钱。说不出这句一句话的,逻辑不存在,参数再漂亮也不上。
规则四:实盘小仓观察期至少一个季度。 回测和实盘之间隔着一整个宇宙的差距:滑点、成交延迟、停牌、涨跌买卖不进去。小仓跑一个季度,实盘曲线和回测曲线的偏离度超过设定阈值就下架复盘。
六、写在最后
有人可能会说:那是不是回测就没用了?
不是。回测依然是我们散户能拥有的最好的工具,但它是个'证伪工具',不是'证实工具'。回测差劲的策略一定有问题,回测漂亮的策略不一定没问题。
说白了,量化这行最贵的不是数据、不是算力,是'对自己诚实的成本'。每一次忍不住多扫一组参数,都是在给自己埋雷。
那张《人是如何骗过自己的》还贴在我显示器边上。58%的年化用红色马克笔写着,旁边一行小字:'实盘-17%。
这大概是我买过最贵的一张壁纸了。'
——小Q,一个刚交完学费的老股民
量化策略过拟合回测Python实战参数优化样本外验证数据统计自嘲小Q风格2026年10月