首页 > 博客 > IS/OOS分割不够|Walk-Forward窗口设计

Walk-Forward回测EA验证

IS/OOS分割不够|Walk-Forward窗口设计

发布日: 2026-10-13阅读时间:约 4 分钟
⏱ 本文为发布之日的信息。EA的业绩数值(PF、DD、年化)会随实盘运行与重新验证而变动,最新数值请在各EA页面确认。 查看最新EA业绩 →

结论:OOS只有一个区间,就仍然只是“一次考试”

把数据分成优化用(IS)和验证用(OOS),是怀疑过度优化时行之有效的第一步。但如果只分割一次,OOS的结果只能告诉你“在那一个区间表现如何”。

我们的结论如下:把OOS拆成多个窗口,一边向前推进一边验证,看的不是合计,而是每个窗口是否盈利。即使合计为正,如果利润集中在个别窗口,评价也要先搁置。

固定分割的弱点

分割点会左右结果

固定分割时,在哪里切开由开发者决定。如果OOS恰好落在趋势明显的时期,策略看起来会比真实实力更好;反之,如果落在相反的时期,就可能把本来可用的逻辑丢掉。两种情况下,结果都依赖于“分割点”这一个选择。

反复查看OOS,OOS就不再是OOS

另一个问题出在开发者的行为上:OOS成绩不好就调整参数,然后再看一次OOS。重复下去,等于是在挑选适合OOS的参数。形式上是未使用的数据,实质上已经被用于优化。这是我们自己也可能犯的错误,不靠流程约束就无法避免。

Walk-Forward窗口的构建方法

Walk-Forward把“优化期间”和紧随其后的“验证期间”作为一组窗口,沿时间轴向前平移并重复。验证区间始终在优化区间的未来,因此可以得到多个OOS。

方式窗口移动方式适用场景弱点
固定分割只切一次最初的粗略确认对分割点的依赖很大
滚动型保持优化期间长度不变向前推进行情性质容易变化的品种丢弃了较早阶段的信息
锚定型固定起点,逐步延长优化期间交易笔数较少的逻辑旧数据的影响会一直保留

决定窗口长度的标准

窗口长度按交易笔数来定,比按日历年数更稳妥。验证区间内的交易太少,盈亏就只是偶然决定的。持仓时间长、交易频率低的逻辑,验证区间需要取得更长。

逐窗口确认的步骤

  1. 让各窗口的验证区间互不重叠地排列
  2. 在每个窗口内优化,并把得到的参数只应用于紧随其后的验证区间
  3. 按验证区间分别记录盈亏、PF、交易笔数和最大drawdown
  4. 确认PF在1.0以上的窗口有多少,亏损窗口出现在哪些时期
  5. 确认去掉利润最大的窗口后,其余部分合计是否仍然盈利
  6. 查看各窗口选出的参数是否大幅跳动

检查要点有三个:

  • 盈利窗口是否集中在一部分
  • 亏损窗口的损失相对盈利窗口的利润是否过大
  • 相邻窗口的最优参数是否发生了极端变化

我们认为并不要求所有窗口都盈利。趋势跟随型逻辑在没有方向感的时期亏损是正常的。真正需要当作问题的,是亏损窗口的原因无法解释,以及亏损深度超出预期。

局限与注意事项

交易笔数不足,窗口就无法成立

ATLAS的回测在7.5年验证期内有1193笔交易,即使拆成多个窗口,每个窗口也能保留一定数量的交易。而ETHEREUM EA的回测在7.5年验证期内只有154笔交易。把这类低频逻辑切成细小的窗口,每个窗口的交易会非常少,以窗口为单位的盈亏几乎没有参考价值。只能把窗口划得更粗,或者把逐窗口评价仅作为参考。

公开的数值是全期间的值

实测排行榜中列出的PF和胜率,是贯穿整个验证期间的数值,并非逐窗口的成绩,因此仅凭这些无法判断是否存在过度优化。阅读时请对此打个折扣。

窗口设计本身也可能被优化

如果改变窗口的长度或数量,再挑选看起来结果更好的组合,这同样是过度优化。窗口设计必须在运行验证之前确定,之后不能再改动。这是前提,但从外部几乎无法确认这一前提是否被遵守。

即便如此,也无法预知未来

即使通过了Walk-Forward,也无法应对过去不曾出现过的行情。在我们运营的模拟账户前向测试中,也有多个EA的盈亏为负。这是模拟账户而非实盘成绩,且开始至今的时间还短,无论好结果还是坏结果,都还不到下结论的阶段。验证方法是减少失误的工具,并不承诺一定命中。

总结

  • 固定的IS/OOS分割,结果会受分割点和OOS复查次数左右
  • Walk-Forward是建立多个验证区间、边向前推进边确认的方法
  • 要看的不是合计,而是逐窗口的盈亏,并确认利润是否偏集中以及参数是否稳定
  • 交易笔数少的逻辑,窗口分得越细,判断越不稳定
  • 窗口设计要事先固定。即使通过,也无法预知未来的成绩

关于验证的思路,我们也整理在知识库中。

📧 MQL5 Market 版涨价前通知 + 5天邮件课程(免费)

在本站,只要拥有合作经纪商的真实账户,EA 即可免费使用。MQL5 Market 上销售的版本目前为首发价,会随销量分阶段涨价。除涨价前通知外,每天还会发送一封邮件,介绍外汇自动交易的本质、回测的正确解读方法和经纪商选择技巧。

※ 严格保护隐私。可随时取消订阅。

对EA或外汇有疑问吗?

可以在Nattzy交易论坛发帖提问(免费注册)。不限于本文内容,EA设置、经纪商选择等问题也欢迎。

在Nattzy提问 ↗

评论与提问