参数表中最高的收益,只能告诉你哪个设置赢得了这次比较,不能告诉你哪个设置接下来仍然有效。 尝试足够多的方案后,胜出者可能既捕捉到有用规律,也贴合了数据中的偶然特征。这就是选择指标参数时过拟合带来的实际问题。

本文用一张虚构参数表审视选择过程,不推荐 RSI 参数,也不提供实测加密市场绩效或交易信号。指标本身的解释见 RSI 指南。

比较参数前先定义规则

参数是选定的输入,例如指标的回看长度或交易规则使用的阈值。回看长度 14 指的是图表周期数,不一定是天数。RSI 阈值是指标数值,不是反转概率的百分比。

一个参数并不构成完整策略。准确的触发条件、信息可用时间、入场执行、退出规则、仓位大小和成本都会影响结果。比较前应记录交易品种、交易所、时间周期、测试日期和上述规则。否则,更好看的数字可能只是同时改变了多项假设。

回测与实盘结果指南解释了其中的区别。本文关注更具体的问题:报告里展示的配置究竟是如何选出来的。

阅读一张虚构参数表

设想一张工作表,对同一规则比较三种 RSI 回看长度和三种阈值,其他条件保持不变。下表所有百分比均为教学而设;没有运行策略,也没有市场数据或交易记录生成这张表。 单元格表示扣除假设手续费和滑点后的假设账户净收益率,既不是 RSI 读数,也不是预测。各项比较采用一致的成本假设;这张工作表并不是完整的回测规范。

虚构开发结果:回看长度以图表周期数计,阈值以 RSI 单位计,单元格为净收益率百分比。
回看长度253035
10+1%+2%+1%
14+2%+9%+2%
180%+3%+1%

14/30 组合在这次虚构比较中胜出。将回看长度固定为 14,把阈值改为 25 或 35,结果从 +9% 变为 +2%。将阈值固定为 30,把回看长度改为 10 或 18,结果分别为 +2% 或 +3%。这就是敏感性比较:只改变一个输入,另一个保持不变。

孤立高峰值得调查,但不是过拟合的证明。交易数量不同、某笔异常交易,或真实的阈值效应,都可能造成剧烈变化。表中没有底层交易,因此无法区分这些原因。同样,一大片相近的结果也不能单独证明优势能够持续。

统计找到胜出者之前的搜索

三种长度乘三种阈值,得到 3 × 3 = 9 个配置。如果在 10 个市场和 4 种时间周期上重复整张表,就有 9 × 10 × 4 = 360 次比较,这还未计入调整退出规则或测试日期。比较之间不一定独立,因此次数不是过拟合概率。

只展示最佳单元格的报告隐藏了搜索过程。保留全部尝试过的配置、被否决的变体和改变的假设,包括非正式的图表试验。看完大量结果再选胜出者,与看数据前就指定某个参数,是两回事。

Bailey、Borwein、López de Prado 和 Zhu 的回测过拟合研究讨论了在有限数据上搜索配置如何选中噪声,也解释了为何仅靠留出数据不能涵盖整个搜索过程。本文不计算该研究提出的概率指标。

不要把验证数据放回调参循环

开发数据用于设计和比较候选方案。验证数据应当测试已冻结的选择,不再调参。在查看验证结果前,确定按时间划分数据的方法、选择规则、评价指标和否决标准。每次决策只能使用当时已可获得的信息;跨越划分边界的交易或结果标签可能使分离更加复杂。

继续虚构练习:假设按事先规定的规则,在开发数据上选定 14/30,随后在从未使用的验证期得到 −2%。这个结果应当保留。看到它之后改用其他参数,再把同一时期称为独立测试,就是把验证数据重新用于开发。

令人失望的结果不一定证明策略过拟合;市场条件变化和抽样波动也可能产生影响。调查原因、记录修改,并为后续评估保留真正未见的数据。不要一直搜索,直到某个修改版本通过同一个窗口。

TradingView 策略文档介绍了在优化样本之外检验已优化参数、且不再微调的做法。这是一种研究纪律,并不保证未来收益,也不是对反复试验的完整统计校正。

检查亮眼数字背后的交易

实际研究中,应结合所选目标,检查完整交易记录、样本量、回撤、交易周转和成本敏感性。少数幸运成交可能主导总结果。相邻参数即便使用相同费率,也可能交易频繁得多,从而承担不同的总成本。

明确执行假设。同一根 K 线内止损与止盈的先后顺序可能在参数未变的情况下改变模拟结果。选择偏差与执行顺序不明是不同问题;解决其中一个不会自动解决另一个。

留下日后可核查的决策

复核记录应写明假设、数据边界、尝试过的配置、选择规则、冻结版本、验证结果,以及否决或继续研究的理由。失败的变体也要保留。证据不足时,“不交易”是合理的决定。

目标不是找出让昨天看起来完美的参数,而是理解研究中的种种选择之后,还有哪些证据站得住脚。本文仅供教育,不构成财务建议;历史测试与谨慎验证都不能保证盈利或避免亏损。