任何一段历史数据里都包含规律和噪声。 当你反复调整参数、只以「样本内表现」作为选择标准时, 调参过程会不自觉地把噪声也一起拟合进去——噪声不会重复,于是实盘失效。
参数越多、搜索次数越多,过拟合的风险越大。 在 10 年日线数据上搜索 5 个参数的上百种组合, 「恰好有一段表现极好」的组合几乎是必然存在的。
| 信号 | 说明 |
|---|---|
| 参数一挪就崩 | 某个参数在 18 很好、17 和 19 就大幅变差,说明是巧合而非规律 |
| 只在某几年赚钱 | 分年度收益极度不均,去掉最好的两年就转亏 |
| 交易次数太少 | 十年只有几十笔,统计上无法区分运气与能力 |
| 样本内外差距巨大 | 样本内年化 40%、样本外 5%,差距本身就是结论 |
把每个参数在合理范围内扫一遍,画成曲线。 好的策略应该呈现一片高原(相邻参数表现接近); 过拟合的策略往往只有一根针尖——换个参数就掉下悬崖。
把数据切成「训练段 / 验证段」,验证段完全不参与任何选择。 更严格的做法是滚动前推(Walk-Forward):每次只用过去的数据定参数, 用紧接着的下一段检验,然后向前滚动。这模拟的是真实使用场景。
用同样的交易频率、同样的持仓数量,但信号随机生成,跑 100 次。 如果你的策略跑不赢这些随机结果的 95 分位,那它的「优势」可能只是运气。
每增加一个自由参数,就多一个可以拟合噪声的维度。 两个参数的策略即使样本内稍差,样本外往往更可靠。 如果一个策略必须靠 5 个参数才成立,通常说明它本来就不成立。
看三件事:样本外表现是否接近样本内、参数是否处于「高原」而不是「针尖」、分年度是否稳定。三条都通过,才有讨论价值的资格。
是的,而且影响很大。搜索 1000 组参数后挑最好的那组,即使数据完全是随机的,也大概率能找到一组「表现优异」的组合。所以必须用样本外数据重新验证。
没有固定标准,但至少要覆盖一轮完整的市场周期(比如包含一次熊市),并且交易次数足够多(一般希望 100 笔以上)才有统计意义。