规则中通常包含数字:200 日均线、20 日突破、2 倍 ATR 止损。参数扫描用不同的数字多次运行同一规则,以观察结果在多大程度上依赖这些数字。用得好,扫描是最有效的稳健性检验之一;用得不好,也就是把它当作寻找唯一最优参数的手段,它就是通往过度拟合最快的途径之一。区别完全在于如何解读结果。
什么是参数扫描
扫描在一组取值网格上改变一到两个参数。单参数扫描可以测试 50、75、100 直至 250 日的均线长度;双参数扫描可以把 5 个入场回看期与 6 个离场回看期交叉,形成 30 个组合。每个组合称为一个变体,每个变体都在相同的训练期、以相同的成本运行。
Clear Tape 的扫描最多 2 个参数、每个参数 2 至 8 个取值、总计不超过 30 个组合、最多 50 只股票,并且网格必须包含您起初设定的参数。这些限制部分出于计算时间的考虑,同时也限制了可尝试的变体数量,这本身就是一种保护。
多重检验:多中选优的结果会被美化
每个回测结果都由优势和运气两部分构成。只做一次检验时无法区分二者,但至少运气带来帮助与造成伤害的可能性相同。做三十次检验并保留最好的一次,就等于挑出了运气助力最大的那一次。尝试的变体越多,胜出者所含的运气就越多。
一项模拟可以说明这一点。模拟中的三十个策略,日收益纯属噪声,真实优势恰好为零。在 15 年(即 Clear Tape 训练期的长度)中,它们的夏普比率仍然相当分散:
0.54 的夏普比率放在任何回测报告里都显得体面,而在这里它只是噪声。一个粗略的经验法则也说明同样的问题:若每次检验单凭运气就有 5% 的概率显得显著,那么 20 次独立检验中至少有一次如此的概率为 1 − 0.95^20,约 64%;30 次约为 79%。同一规则的不同参数并非完全独立,这会减弱上述效应,但不会消除它。
学界对此相当重视。Campbell Harvey、Yan Liu 与 Heqing Zhu 指出,鉴于同一批数据上已检验过大量因子,许多已发表的股市因子很可能是虚假发现,显著性的门槛应当提高。David Bailey 与 Marcos López de Prado 提出了「紧缩夏普比率」(Deflated Sharpe Ratio),按检验次数对结果进行折减。Clear Tape 并不计算这一调整,而是在每次扫描旁显示检验的变体数量,并依据扫描结果的形状而非峰值作出判断。
平台与孤峰
真实的效应很少只与某一个确切数字挂钩。如果 150 日均线有效是因为市场以数月为周期形成趋势,那么 125 日和 175 日也应当几乎同样有效。运气则是局部的:它落在某一个参数上,而不会惠及相邻参数。因此,有用的问题不是「哪一格最好」,而是「最好的那一格位于平台上,还是一座孤峰上」。
Clear Tape 仅在训练期内应用平台规则:
- 每格的得分为该格训练期夏普比率减去基准训练期夏普比率。训练期已平仓交易少于 20 笔的格子不参与判断。
- 最优格是得分最高的有效格。若该得分小于或等于零,结果显示为没有任何参数组合跑赢基准。
- 其相邻格是网格上与之相邻(含对角)的有效格;单参数扫描中即为左右两个取值。相邻格少于 2 个时,结果显示为相邻参数过少,无法判断,此时应在最优值附近增加取值。
- 若相邻格得分的中位数不低于最优得分的一半,且至少三分之二的相邻格得分为正,判定为平台;否则为孤峰,很可能出于偶然。
在上图左侧,最优长度(150 日,+0.17)的相邻值为 +0.14 和 +0.15:中位数 +0.145,超过 +0.17 的一半,且两者均为正,因此是平台。右侧最优长度(125 日,+0.21)的相邻值为 −0.03 和 −0.05:中位数为负,因此是孤峰,无论 +0.21 看上去多么出色。
解读热力图
双参数扫描以热力图呈现:每个参数占一条坐标轴,每格按训练期得分着色,高于基准为绿色,低于基准为红色。
请按以下顺序解读:
- 整体形状。一大片颜色相近的区域,说明支撑结果的是想法本身,而非某个确切数字。棋盘状的分布或单独一个亮格,则是噪声的迹象。
- 您原设的参数。该格会加框标出。若它位于平台之内,结果令人放心;若它位于孤峰之上,或平台完全在别处,说明您的参数很可能是事后挑选的。
- 空白格。交易过少的参数组合不予评分,以免凭几笔幸运的交易胜出。
- 检验的变体数量。三十个格子,就意味着运气有三十次机会。
请注意热力图未显示的内容:验证期。Clear Tape 只用训练期结果为网格着色,并只为一个格子,即您原设的参数,给出完整的验证期结论。如果网格同时显示验证期结果,人们就很容易挑选验证期表现最好的格子,验证期也就不再是公平的检验。若扫描表明其他参数更好,您可以据此修改,但其结果属于一项新研究,相当于已提前「瞥见」了验证期。
如何应用
入场
在扫描之前确定参数,并能说明理由;再以其为中心、在两侧设置取值来构建网格。
止损
当形状显示为孤峰,或没有任何参数组合跑赢基准时,就此停止。不要为了寻找更好的角落而扩大网格。
目标
找到包含您原设参数、且由交易数量充足的格子构成的平台,再对这组参数进行验证期回测。
失效条件
若看过扫描后把参数改为最优格,请将该研究标记为「已调优」,并对其验证期结果格外谨慎。
常见错误
- 挑出最亮的格子,并把它的数字当作优势。
- 同时扫描大量参数,直到某个组合奏效为止。
- 网格设置使原设参数落在边缘,一侧没有相邻值。
- 把交易极少的格子当作证据。
- 查看多个格子的验证期结果,然后保留最好的那个。
小结
扫描显示规则对其参数有多敏感。多中选优的结果会被运气美化:即使三十个策略均无优势,其中最优者十五年间的夏普比率也足以让人误以为有效。请依据形状来判断扫描结果。Clear Tape 以训练期夏普比率超出基准的幅度为每格评分,不计交易少于 20 笔的格子;当最优格相邻值的中位数不低于其得分的一半、且三分之二的相邻格为正时判定为平台,否则为孤峰。验证期结论只针对您原设的参数给出,以保持验证期检验的公正性。下一课将转向数据本身,以及隐藏其中的陷阱。
仅供学习与参考,不构成投资建议。