参数稳定性(高原)
参数稳定性(parameter stability)指的是这样一种性质:当每个参数在网格上挪动一步时,交易规则的成绩仍然接近选中的那组配置。一片表现相近的邻居构成的高原,说明这条规则是围绕参数在工作;而一座孤立的尖峰,则说明选中的那组取值是被拟合到某一段样本上的。
Senzoukria · 术语表 · 更新于 2026 年 9 月
高原检验究竟在看什么
一次参数扫描会为每组配置产出一个结果:回看长度、阈值、止损距离等等。优化器留下目标函数值最高的那组配置。参数稳定性对同一张网格提出的是另一个问题:那位冠军紧邻的邻居们怎么样——每次只在一个维度上挪一步?
可能出现三种形状。高原,是指邻居表现几乎和选中点一样好的一片区域。斜坡,是指结果朝某个方向稳步劣化的区域,通常意味着扫描停在了取值范围的边缘。尖峰,则是指选中点的邻居明显差得多:这条规则只在那几个精确取值上有效。
- 比较使用的是和扫描相同的目标函数(每笔期望、SQN 或每笔夏普),所以在一个目标上是高原,换个目标未必还是高原。
- 只比较网格上相邻的那一步。网格太粗会把两步之间的窄尖峰藏起来;网格太细则可能把一片平坦曲面上的噪声显示成高原。
- 稳定性是曲面的性质,不是策略的合格证。一片全是亏损配置的平坦曲面,依然是一条亏钱的规则。
为什么尖峰被当作假象
市场不会尊重某个回看长度的精确数值。波动率、时段结构和合约换月都会改变那些让某个参数取值成为最优的条件。如果阈值挪动一步结果就崩掉,那市场自己就会造出这一步。高原能容忍这种挪动,尖峰不能。这正是为什么高原形状被读作「规则抓到的是一种行为,而不是样本的一次巧合」的证据。
在 Senzoukria 里
桌面端的回测面板在一次扫描或前推运行之后,会显示一张名为「参数稳定性」的图。它把选中的配置和网格上紧邻它的配置画在一起,把形状标注为高原、斜坡或尖峰,并给出邻居的中位数占选中成绩的百分比。这张图的帮助文字把规则说得很直白:邻居表现几乎一样好的高原,才是真优势的样子;尖峰是假象。当没有跑过扫描时,图会报告「没有东西可以和选中的配置作比较」。
该面板同样会给参数网格设上限,并警告每多一种组合,就是在同一批数据里多抽一次签。稳定性、紧缩夏普比率和回测过拟合概率,是对同一次扫描的三种互补读法。
常见错误
- 只看选中的那个点,而无视扫描本来就已经算好的那些邻居。
- 不断扩大网格直到出现高原为止——这改变了试验次数,反而放大了选择偏差。
- 把样本内数据上的高原当成样本外结果。那个独立的问题由前推分析的各个切片来回答。
- 一次扫描多个参数,却只读某一个维度上的高原,而另一个维度其实正坐在尖峰上。
相关内容
其他语言版本
常见问题
- 参数稳定性检验会比较多少个邻居?
- 这项检验把选中的配置,和在每个参数维度上挪一格的那些配置作比较。扫描两个参数时最多是四个邻居;只扫一个参数时是两个。比较结果取决于你为扫描设定的步长,所以同一条规则在细网格上像高原,在粗网格上可能像斜坡。
- 高原能证明策略会继续有效吗?
- 不能。高原说明的是,在被测试的这段样本内部,结果对参数的精确取值不敏感。它对市场状态切换、未被建模的成本,以及测试从未见过的数据,都一言不发。它只是一项稳健性读数,需要和前推结果、紧缩夏普比率以及置换检验合在一起看。
- 图上显示尖峰时该怎么办?
- 把选中的配置当成「被拟合到样本上的东西」,而不是一条规则。去看邻居们的目标函数值,减少同时扫描的参数个数,换一段时期重跑一次。如果尖峰在不同时期都持续存在,那这条规则很可能依赖的是数据里的某个细节,而不是一种市场行为。