EA 策略回测 Backtest 怎么做?4 个常见陷阱 + Out-of-Sample 验证
回测(Backtest)是用历史数据评估交易策略的过程。本文详解 EA 回测流程、4 个常见陷阱(曲线拟合 / 前视偏差 / 数据质量 / 滑点低估)、Out-of-Sample 验证方法,以及主流回测工具。
回测(Backtest)是用历史数据评估交易策略表现的过程。新策略上线前必做但 90% 散户回测有缺陷 —— 一个看似 "年化 50%" 的策略实盘后亏损是常态。本文详解 EA 回测流程、4 个常见陷阱、Out-of-Sample 验证方法,以及在外汇返佣主流平台上的回测工具。
1. 什么是回测
用 历史价格数据 模拟策略执行,输出:
- 累计收益率
- 夏普比率 / 索提诺比率
- 最大回撤 (MDD)
- 胜率 + R:R
- 盈亏曲线
2. 回测的 4 个常见陷阱
2.1 曲线拟合(Overfitting)
过度优化参数让历史数据"完美" → 实盘失效。
- 例:MA 5 / 20 / 50 测试 + 优化 → 选最优组合 (MA 5 / 17 / 47) → 实盘失效
- 对策:保留 30% 数据做 Out-of-Sample 验证
2.2 前视偏差(Look-ahead Bias)
用未来数据计算过去信号(如用当日收盘判断当日开盘)。
- 对策:每根 K 线只用其前面的数据
2.3 数据质量问题
- tick 数据不全(只有 1 分钟 K 线)
- 没有真实点差 + 滑点
- 没考虑 swap / 库存费
- 对策:用 Tickstory / Dukascopy tick 数据
2.4 滑点和点差低估
- 实盘点差 1.0 → 回测用 0.5(让数字好看)
- 对策:用最差时段点差 + 1-2 pip 滑点假设
3. Out-of-Sample 验证流程
- 取 5 年历史数据
- 分 70% In-Sample(用于优化参数)+ 30% Out-of-Sample(验证)
- In-Sample 上找最优参数
- 用同一参数在 Out-of-Sample 上测试
- 如果 Out-of-Sample 收益 ≥ In-Sample 50%,策略有效
- 否则 = 曲线拟合,重新设计
4. 主流回测工具
| 工具 | 平台 | 优势 | 劣势 |
|---|---|---|---|
| MT4 Strategy Tester | MT4 | 内置免费 | tick 数据不全 |
| MT5 Strategy Tester | MT5 | 多线程 + tick | 需配数据 |
| cTrader Optimizer | cTrader | 可视化优秀 | EA 数量少 |
| Forex Tester 5 | 独立 | tick 级 + 教育 | 付费 $200+ |
| Python Backtrader | Python | 灵活 + 自定义 | 需编程 |
5. 完整回测报告应该有什么
- 累计收益曲线
- 每月 / 每年收益分解
- 胜率 + R:R
- MDD 时间和深度
- 夏普比率(年化)
- 盈亏笔数对比
- 盈亏笔最大单笔
- 交易频率 + 持仓时间
6. 优秀回测的 8 个特征
| 特征 | 合格标准 | 优秀标准 |
|---|---|---|
| 年化收益 | > 15% | > 25% |
| 夏普比率 | > 1.0 | > 1.5 |
| MDD | < 25% | < 15% |
| Out-of-Sample 收益 | ≥ 70% In-Sample | ≥ 90% |
| 胜率 | > 35% | > 45% |
| 交易笔数 | ≥ 100 | ≥ 500 ⭐ |
| 数据时长 | ≥ 3 年 | ≥ 5 年 ⭐ |
| 滑点 | 1-2 pip | 2-3 pip(保守) |
7. 回测 vs 实盘差距
实际数据:
- 回测年化 30% → 实盘平均 15-20%(折扣 30-50%)
- 回测 MDD 15% → 实盘 25-30%(增加 60-80%)
- 回测胜率 60% → 实盘 50-55%
8. 实盘前的 3 步验证
- Out-of-Sample 验证(30% 数据)
- 模拟账户 30 天(实时数据 + 实时滑点)
- 实盘 0.01 手测试 30 天
9. EA 回测推荐参数
- 数据:5+ 年(涵盖 2 个完整经济周期)
- 点差:实盘最差时段 × 1.5
- 滑点:1-3 pip
- 库存费:根据经纪商数据
- 佣金:完整加上
10. Walk-Forward 验证(高级)
滚动窗口测试:
- 1-12 月数据 → 优化参数 → 13-15 月测试
- 窗口前移:4-15 月 → 优化 → 16-18 月测试
- 持续滚动 20 次以上
这能验证策略在不同市场环境下的稳定性。
常见误区 / 风险提示
- 误区 1:MT4 Strategy Tester 数据准 — 错。tick volume 不全,需 Tickstory 等工具补
- 误区 2:年化收益 100% 真的可信 — 错。多数曲线拟合
- 误区 3:Out-of-Sample 不重要 — 错。是验证关键
❓ 常见问题 FAQ
Q1:MT4 回测数据准确吗?
不太准。MT4 默认用 1 分钟 K 线 + 估算 tick volume。建议下载 Tickstory(免费)+ Dukascopy tick 数据后再回测,准确度提升 60%+。
Q2:回测多久数据合适?
至少 3 年(涵盖牛熊)。理想 5 年(涵盖 2008 / 2015 / 2020 / 2024 多个事件)。10 年最佳但数据老化也是问题。
Q3:回测年化 50%+ 是不是骗局?
多数是。即使真实回测 50%+,实盘也几乎肯定降到 15-25%。如果广告说 "年化 100%+ 实盘" → 99% 是骗局。
总结
- 回测 = 用历史数据评估策略
- 4 个陷阱:曲线拟合 / 前视偏差 / 数据问题 / 滑点低估
- Out-of-Sample 30% 数据验证
- 实盘前必做:模拟 30 天 + 实盘 0.01 手 30 天
更多外汇返佣量化术语 量化术语,主流入驻经纪商 经纪商列表。
以上内容仅供学习参考,不构成投资建议。外汇 / CFD 交易存在高风险,请根据自身风险承受能力谨慎决策。
量化交易术语
如有投资决策请谨慎,本文仅供参考
