Little Bird Trading

如何识别过度拟合的交易系统

4分钟阅读 · 更新于

过拟合的交易系统,是指记住了过去,却没有学到关于市场任何持久的东西。它拟合了历史数据的每一处细微起伏,包括随机噪音,所以回测看起来很漂亮,实盘账户却在亏钱。令人沮丧的是,过拟合在你构建系统时看起来就像成功:每一次让回测数字变高的调整都像是进步。本指南给出具体的警示信号,帮你把真正的优势和曲线拟合的幻象区分开来,并说明该怎么做,让你不再追逐更漂亮的资金曲线。

警示信号1:相对你手头的数据,参数太多

你加入的每一个旋钮,无论是均线长度、RSI 阈值、止损距离,还是一天中的时间过滤,都是优化器可以用来美化过去的一个自由度。旋钮越多,纯靠运气就越容易命中任何目标曲线。一个粗略的合理性检查:把自由参数的数量与独立交易的数量对比。如果一个策略有八个可调输入,而回测只产生了32笔交易,那么每四笔交易就对应一个可调旋钮。这足以拟合噪音。经验上,当每个自由参数对应的交易少于约10-20笔时就要起疑,每个参数五笔交易是底线,在这以下结果几乎必然是曲线拟合,所以八个输入、32笔交易的例子低于这条线,正处在幻象区。

应该怎么做:从能表达你真实想法的最小模型开始,只有当复杂度在模型从未见过的数据上证明自己值得时,才增加复杂度。一个有300笔交易的两参数系统,比一个有60笔交易的十参数系统告诉你的多得多。

警示信号2:资金曲线过于完美

回测几乎呈直线上升,回撤很小,几乎没有亏损月份,这说明你拟合的是噪音。真正的优势是起伏不平的。它们有连续亏损、横盘阶段,以及考验你耐心的回撤,因为市场为你忍受不确定性付费。当资金曲线看起来像储蓄账户对账单时,问问是哪些具体的历史偶然让它如此平滑。

应该怎么做:评判曲线的形状,包括终点。看最大回撤、最长的横盘期,以及收益如何聚集。一个可信的系统,回测中的回撤应该至少和你愿意在实盘中承受的任何回撤一样糟,如果不是,说明你还没有看到真正的风险。

警示信号3:完全没有样本外测试

如果你引以为豪的每一个数字,都来自你用来设计和调整系统的同一批数据,那你就没有证据证明它具有普适性。这是最常见的失败。解决办法是在开始优化之前,先留出一部分数据。

  • 训练 / 验证 / 测试划分。在第一段数据上构建和调整,在中间一段上做合理性检查,最后的留出数据只在最后用一次。如果表现在留出数据上崩塌,说明“优势”只存在于训练噪音中。
  • 滚动前瞻分析。在滚动窗口上优化,然后用这些设置交易下一个窗口,再向前滚动。这模拟了你随时间重新调整的实际过程,并暴露那些“最佳”参数不断变化的系统。
  • 参数稳定性检查。把每个输入上下调一档。稳健系统的结果应该平缓下滑。如果把回溯周期从20改到22就把盈利变成亏损,说明你找到的是一个幸运的坐标。

警示信号4:优势是对噪音、单一品种或单一市场状态的曲线拟合

只在单一股票、单一日期区间或单一波动环境下有效的系统,通常拟合的是那一小块数据的偶然。一个假设持续逢低买入的2020-2021策略,在2022行情到来之前看起来很出色,之后就被抹平了。真实的市场行为往往会出现在不止一个地方:跨相关品种、跨时间,以及跨平静和动荡时期,即使具体指标有所不同。

应该怎么做:在相关但独立的品种上,以及在安静和波动的阶段上,测试同样的逻辑。如果方向性特征保留下来,即使数字较弱,你很可能抓到了真东西。如果环境一变它就消失,说明你拟合的是过去。判断自己处于哪种环境是一门独立的功课;词汇请看日内交易价位术语表和如何使用每日价位。

更隐蔽的杀手:失控的反复迭代

你可以在从不增加参数的情况下过拟合一个完全合理的系统,只需针对同一段历史调整一百次。每一个“小改进”都在悄悄消耗样本外信息,直到你的留出数据不再独立。把改动节奏当作方法的一部分:编辑要少,写下每次改动存在的原因和你期望它起的作用,并且在任何改动上线之前,要求一个全新的验证窗口。这与交易自动化治理指南中讲的治理逻辑相同,也与严谨的业绩复盘流程相配合,后者把决策质量与运气好的结果区分开。

这与交易计划的方法有何关联

交易计划发布具体的阻力、枢轴和支撑价位,由你结合自己的判断来使用。每个价位都公开发布,没有会在市场状态转变时失效的隐藏参数。你带来自己的执行和风险规则,并用诚实的方式去测试:样本外、跨市场状态、清楚呈现风险。这种透明就是关键所在。

仅供教育参考,不构成投资建议。

仅供教育参考,不构成投资建议。