交易系统写出来以后,还不能直接证明它有效。历史回测、模拟记录和小规模前向验证分别回答不同问题:规则过去是否有可重复性、执行流程是否可行,以及真实成本和心理因素会带来多大偏差。本文聚焦如何验证一套外汇交易规则,避免用几张盈利截图或过度拟合的回测曲线代替证据。
回测、模拟与实盘验证有什么区别?
| 方式 | 主要用途 | 主要局限 |
|---|---|---|
| 历史回测 | 快速检查规则在历史数据上的表现和风险特征 | 容易产生前视偏差、幸存者偏差和参数过度拟合 |
| 模拟或前向观察 | 在未知行情中验证信号、订单流程和记录纪律 | 成交环境和资金压力可能与真实账户不同 |
| 小规模实盘 | 观察真实点差、佣金、滑点、执行和心理影响 | 承担真实损失,且短期样本仍可能没有代表性 |
美国证券投资者教育网站 Investor.gov 提醒,回测结果属于假设性表现,并不代表真实业绩;美国商品期货交易委员会(CFTC)也指出,模拟结果可能无法充分反映流动性、滑点、连续亏损和保证金压力。
开始验证前,先把规则写完整
如果规则需要在回测过程中临时解释,就无法可靠复现。至少应提前确定:
- 交易品种、时区、图表周期和允许交易的时段;
- 市场状态过滤条件,例如趋势、震荡或高波动;
- 入场、止损、止盈、时间退出和取消挂单规则;
- 仓位计算、同时持仓和相关品种风险上限;
- 点差、佣金、隔夜融资和滑点的处理方法;
- 数据发布、周末、跳空和缺失报价如何处理。
还没有完整规则时,可先阅读外汇交易系统从规则到复盘的完整步骤。
历史数据怎么准备?
- 统一数据源:不同报价商的高低价、点差和时区可能不同,不能随意拼接。
- 检查时区与夏令时:日线收盘、经济数据时间和交易时段都可能因此错位。
- 保留买卖价差:只使用中间价或收盘价,常会低估入场和退出成本。
- 处理异常和缺口:记录缺失K线、重复数据和明显坏点,不要直接删除不利样本。
- 覆盖多种环境:样本应包含趋势、震荡、高波动、低流动性和重要事件阶段。
手工回测的可执行流程
- 隐藏右侧未来行情,从最早日期逐根推进;
- 每次只使用当时能够看到的信息判断是否触发;
- 记录计划价格、可成交价格、止损、仓位和费用;
- 严格按照既定退出规则推进,不用事后最高点替代真实退出;
- 保存不交易样本和亏损样本,避免只截图成功案例;
- 完成一个区间后再汇总,不在途中不断修改参数。
自动化回测同样要检查代码、订单优先级、同一根K线内止损与止盈的先后假设,以及是否错误地按不可获得的价格成交。
必须避免的四类偏差
前视偏差
使用了当时尚未公布或尚未形成的数据,例如用整根K线的最高价决定在该K线开盘时入场。
参数过度拟合
反复调整均线、止损和过滤条件,直到某段历史得到最漂亮曲线。参数越多,越容易把随机噪声当成规律。
选择性样本
只测试适合策略的品种、年份或行情,排除表现不佳的阶段。完整报告应解释样本选择标准。
低估交易成本
忽略动态点差、佣金、隔夜融资、滑点和货币换算,会显著高估高频或小目标策略。成本计算可参考外汇点差与总交易成本指南。
不要只看胜率:至少记录这些指标
- 交易次数:样本是否足以覆盖不同市场状态;
- 平均盈利与平均亏损:判断一次大亏是否会抵消多次小赚;
- 期望值:胜率 × 平均盈利 − 败率 × 平均亏损;
- 最大回撤:权益从阶段高点到后续低点的最大下降;
- 最长连续亏损:评估资金和执行者能否承受;
- 成本占比:点差、佣金和融资费占毛收益的比例;
- 不同市场阶段表现:避免总结果掩盖某类行情中的持续失效。
盈亏比没有统一必须达到1:1.5或2:1的标准。它需要和胜率、交易频率、成本以及尾部亏损一起评价。
样本内与样本外怎么划分?
可以把较早数据作为样本内,用于制定规则和有限调参;把较晚且未参与设计的数据留作样本外检验。若看完样本外结果又继续调参,该区间就不再是真正的样本外数据,需要另留新数据重新验证。
进一步可以使用滚动或走步验证:在一段历史上确定参数,再在紧接着的未知区间检验,然后向前滚动。目的不是找到永不失效的参数,而是观察规则对时间和市场变化是否过度敏感。
模拟和小规模实盘验证清单
- 信号出现后是否能在规定时间内执行;
- 实际点差和滑点是否接近回测假设;
- 限价、止损和跳空时的成交规则是否理解正确;
- 连续亏损时是否仍能按规则执行;
- 订单历史能否完整导出并与交易日志对应;
- 实盘偏差来自规则、成本、技术故障还是人为操作。
没有适用于所有人的“必须模拟3—6个月”或“实盘前3个月固定用0.01手”。验证是否充分,应依据样本覆盖、执行稳定性和可承受风险,而不是日历时间。仓位应按止损距离和风险预算计算,详见仓位计算方法。
什么时候应暂停或重新评估?
- 规则描述含糊,不同复盘者得到不同信号;
- 扣除合理成本后,期望值明显恶化;
- 表现高度依赖一个品种、一段时间或一组精细参数;
- 样本外表现与样本内差异过大;
- 实盘执行偏差长期超出假设;
- 回撤或连续亏损超过事先设定的重新评估阈值。
常见问题
回测多少笔才够?
没有通用数字。交易频率、市场状态和亏损分布都会影响所需样本。与其追求一个门槛,不如检查样本是否覆盖多种环境,并报告结果的不确定性。
回测盈利,实盘为什么会亏?
常见原因包括过度拟合、前视偏差、点差和滑点低估、成交假设不现实、市场状态变化以及执行纪律差异。
能否用模拟盘测试心理承受能力?
模拟盘能测试流程,却很难复制真实损失带来的压力。小规模实盘仍需使用可承受全部损失的资金,并提前设置停止条件。
买来的交易系统有漂亮曲线,能直接使用吗?
不能仅凭曲线判断。应确认是实际还是假设结果、数据和参数是否披露、是否计入成本,以及能否独立复现。任何保证收益的说法都应警惕。
可信来源与延伸阅读
风险提示:历史、模拟和回测结果均不能保证未来表现。杠杆交易可能迅速造成重大亏损。本文仅作方法教育,不构成投资建议或收益承诺。
本文用于知识分享,不构成投资建议。金融市场存在波动风险,请独立判断并合理控制仓位。