挑参数不难,难的是挑出来的参数在样本外也好用。上一课(第56课过拟合)已经验证:样本内排名第1的参数,样本外可以排倒数第1。这一课讲具体的选法:找参数平原,不找单一最优点。
什么是参数平原和参数尖峰
用一个简单模型来说明:
- – 参数尖峰:某个参数值样本内表现极好,但左右邻居参数都明显变差。收益曲线在那一点孤零零地突起,像山峰。这几乎一定是过拟合——策略凑巧在历史数据的某个特定点上表现好,但市场条件稍微变化就失效。
- – 参数平原:某个区域里,相近的参数值都能给出接近的结果。把参数从20调到22、调到18,收益变化不大。策略捕捉的是某种真实的市场规律,而不是依赖精确的数字。
直觉上很好理解:如果"只有 N=20 有效,N=19 和 N=21 都不行",那这个 N=20 不太像是真实规律的体现。
实验:超跌反弹策略的参数热力图
用第56课的数据,在持有5日这个条件下,扫描 N×X 的参数网格(N=统计天数,X=跌幅阈值),看样本内超额的分布形状:
| 天数N↓ / 跌幅X→ | 5% | 10% | 15% | 20% | 25% |
|---|---|---|---|---|---|
| 3日 | 0.03% | 0.00% | 0.01% | 0.01% | −0.05% |
| 5日 | 0.02% | 0.06% | 0.09% | 0.10% | −0.01% |
| 10日 | 0.00% | 0.03% | 0.08% | 0.15% | 0.18% |
样本内热力图里,右下角(N=10,X=20%/25%)是最亮的区域——这是一片平原,数值连续增大,没有孤立的突起。
再看样本外的热力图:
| 天数N↓ / 跌幅X→ | 5% | 10% | 15% | 20% | 25% |
|---|---|---|---|---|---|
| 3日 | 0.02% | 0.08% | 0.18% | 0.31% | 0.36% |
| 5日 | 0.02% | 0.09% | 0.22% | 0.47% | 0.64% |
| 10日 | 0.02% | 0.06% | 0.17% | 0.43% | 0.82% |
样本外热力图的最亮区域仍然在右下角,和样本内基本吻合。样本内找到的平原,样本外同样有效。
平原 vs 尖峰:IS/OOS 排名对比
用全部75组参数(含所有持有天数),以样本内日均超额排名,前10名中最典型的两类参数:
| 类型 | 参数 | IS信号数 | IS日均超额 | OOS日均超额 | IS全局排名 | OOS全局排名 |
|---|---|---|---|---|---|---|
| 尖峰 | 3日跌超25%,持1日 | 140 | +1.29% | −2.00% | 1 | 75 |
| 平原 | 10日跌超25%,持5日 | 6,829 | +0.18% | +0.82% | 7 | 1 |
| 平原 | 10日跌超20%,持5日 | 19,337 | +0.15% | +0.43% | 9 | 7 |
| 平原 | 10日跌超15%,持5日 | 53,363 | +0.08% | +0.17% | 15 | 4 |
两组数据的对比非常清晰:
- – 尖峰组(N=3,X=25%):样本内遥遥领先(+1.29%/天),样本外大幅崩溃(−2.00%/天)。只有140个信号,5年里平均每年28次,几次运气好的交易撑起了整个记录。
- – 平原组(N=10,X=20%/25%):样本内排名不突出(7/9名),但样本外是全75组里最好的(1/7名)。更重要的是,调整参数X从15%到25%,结果都还不错——这是真实边际效应的体现。
关键观察:平原的"邻居"也稳定
判断一个参数是不是在平原上,最简单的测试是看邻居:
把 N=3,X=25%,H=1 这个参数的邻居列出来:
- – (3,25,3): IS 排名14,OOS 排名14
- – (5,25,1): IS 排名6,OOS 排名73
邻居也很不稳定——这说明这个"尖峰"的样本内优势来自某几次特殊交易,不是系统性规律。
把 N=10,X=20%,H=5 的邻居列出来:
- – (10,20,3): IS 排名8,OOS 排名6
- – (10,20,10): IS 排名10,OOS 排名23
- – (10,25,5): IS 排名7,OOS 排名1
邻居全部在正常范围内——这是一片真正的高原,选哪个邻居都差不多。
学术研究支持
plateau.marketmaker.cc 对9,000次模拟优化问题的研究结论:
- – "选平原最优点"(用平滑后的参数曲面找最优)vs "选原始最优点":样本外 Sharpe 在一维参数情况下提升 +0.12,在二维参数情况下提升 +0.31
- – 在样本外中,平原感知选择的收益在每个曲率三分位都为正——即使在最平坦的情况下,选平原也不会带来额外损失
选平原是一个合理的选参数偏置,但它不能单独替代样本外测试——两者要配合使用。
常见误区
误区一:参数越精确越好
错。参数对两位小数不是优点,是过拟合的信号。MA(20.37) 没有比 MA(20) 更好的理由。
误区二:平原里选最高点
平原中最高的那个点,可能仍然是局部噪声。更保险的做法是选平原中间,而不是平原最高处。
误区三:扫参数越多越安全
不是。参数组合越多,随机找到"最优"的概率越高。每多一组参数,就多消耗一点样本信息。
在青柠中实操
青柠量化的参数实验室功能(回测页面 → 参数优化)可以自动扫描参数网格,以热力图形式展示不同参数组合的回测结果。
建议的操作流程:
- 1. 在参数实验室里设定参数范围,使用样本内时段(如近3–5年中较早的部分)扫描
- 2. 观察热力图,找颜色连续分布的区域(平原),而不是孤立高点(尖峰)
- 3. 从平原区域里选参数,优先选中间值
- 4. 用剩余时段做样本外验证(见第59课样本外检验),只做一次,不再调整
常见问题
Q:参数平原多宽才算够宽?
没有绝对标准。一般来说,主要参数(如 MA 周期)左右各调 20–30% 结果仍相近,算比较稳健。如果只有 ±1 的容忍度,需要警惕。
Q:如果没有明显平原怎么办?
说明这个策略逻辑本身可能不稳定,或者参数维度选错了。可以尝试换策略信号、调整参数维度,或者直接放弃这个方向。
Q:参数平原是否保证样本外有效?
不保证。参数平原降低了过拟合风险,但市场结构变化(如2026年的市场环境变化)仍然可能让历史测试通过的策略在未来失效。这就是为什么要持续跟踪策略实盘表现(见第62课)。
口径说明
数据同第56课口径:全A股,排除ST、北交所,价格后复权。信号日收盘确认,次日开盘买入;一字涨停买不进记 NULL。持有 H 日后收盘卖出。超额相对同日全部股票平均,未计交易成本。历史统计不代表未来表现,不构成投资建议。
读到这里,不如自己验证一次
文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。