核心要点
- 前向测试按照固定的策略规则,基于实时价格进行交易,但不投入真实资金,通常在回测之后、实盘交易之前,通过模拟账户开展。
- 回测未能反映滑点、点差和隔夜利息,也无法体现交易者在下一根K线尚未出现时的犹豫心理。
- 前向测试不同于模拟交易或滚动前推分析,因为模拟交易通常是开展前向测试的工具,而滚动前推分析是一种使用历史价格的回测方法。
- 以交易笔数而非周数衡量测试进度,目标可设为约20至100笔交易,并在第一笔交易前确定通过或不通过的判定标准。
- 许多交易者接受前向测试结果比回测低约15%至20%,有些人可接受最多低30%,但通过测试绝不意味着未来表现有保证。
什么是交易中的前向测试?
前向测试是利用实时市场数据,通过模拟交易评估交易策略的过程,通常在模拟账户中进行。它沿用回测中的固定规则,评估策略在历史数据上的表现能否延续到当前市场环境中。前向测试在回测之后、投入真实资金交易之前开展。
在历史图表上,交易信号出现后的每一根K线都已呈现。而在前向测试中,下一根K线尚不可知,因此每一次入场、止损和离场决策,都需要像使用真实资金时一样作出。
前向测试通常分为两个阶段。第一阶段使用模拟账户,以虚拟资金按实时价格交易。第二阶段使用小额实盘账户,以真实资金和最小仓位,检验实际成交情况及真实情绪反应。

既然回测已经检验过策略规则,再按相同规则测试一遍似乎是在浪费时间,直到你发现回测遗漏了哪些因素。
为什么回测后还需要前向测试
回测展示策略规则在历史价格上的表现,而前向测试则检验这些规则在尚未出现过的实时价格下是否依然有效,以及你能否遵守规则。回测与前向测试结果的大部分差异,都可以归结为以下三个方面。
回测遗漏的执行问题与交易成本
前向测试能够揭示真实的交易执行情况和交易成本,而回测通常会忽略这些因素,或仅作估算。
- 滑点是指实际成交价与预期价格不同,最常见于价格快速波动时。
- 点差即买入价与卖出价之间的差额,在行情剧烈波动或交投清淡时会扩大,从而增加每笔交易的成本。
- 订单未能按计划价格成交,会使回测中一些原本盈利的交易信号变成错失的交易机会。
- 佣金和隔夜利息会侵蚀收益,其中隔夜利息是持仓过夜的成本。
对于差价合约(CFD)账户,隔夜利息可能随着时间推移,将回测中微弱的盈利优势转变为亏损,因此每份前向测试结果都应计入隔夜利息。
前向测试中的交易心理
前向测试不仅检验策略,也检验交易者,因为实时价格会迫使你作出历史图表中不曾面对的决策。回看历史图表时,结果已经显而易见,交易机会也因而显得容易把握。面对实时价格,交易者却可能犹豫不决、在亏损后放弃交易信号,或过早平掉盈利仓位。模拟账户可以减轻这种压力,却无法完全消除,这也是之后还需要使用小额实盘账户的原因。
前向测试如何揭示过拟合
前向测试往往能发现过拟合,因为它使用的是策略规则在调优时从未接触过的价格。过拟合是指策略过度贴合历史数据,以至于拟合的是过去的噪声,而非真正的规律,因此过拟合策略在实时行情中通常会失效。市场也会随时间变化,适用于某一时期的策略,未必适用于下一时期。
清晰的前向测试流程,可以在投入任何真实资金之前,检验上述三个方面的差异。
如何对交易策略进行前向测试
你可以通过五个步骤对交易策略进行前向测试,从固定策略规则开始,最终将前向测试转移到小额实盘账户。
第1步:在前向测试前固定策略规则
在前向测试开始前,写下策略规则,并确保与通过回测的规则完全一致。规则应涵盖入场、离场、止损、止盈、仓位大小、交易品种和交易时段。同时设定通过或不通过的判定标准,即前向测试将进行多少笔交易,以及达到什么结果才算通过。测试期间不要作任何修改。如果必须更改规则,应先重新回测,再从第一笔交易开始重新进行前向测试。
第2步:设置与实盘交易一致的模拟账户
在你计划用于实盘交易的同一家经纪商和同一个平台开立模拟账户,例如TMGM账户,然后将初始余额、杠杆和交易品种设置为与你计划投入真实资金交易时一致。模拟账户使用虚拟资金,按实时价格交易。如果模拟账户的设置与实盘计划不同,前向测试结果也会有所偏差。例如,模拟账户余额远高于计划入金金额,会让亏损带来的感受比实盘时轻得多。
第3步:执行每个有效信号并记录每笔交易
执行策略规则给出的每一笔交易,包括那些让你感到不安的交易机会,因为跳过交易会改变你正在测试的结果。在交易日志中记录每笔交易的日期、品种、方向、入场价、止损价、目标价、离场价、结果和成本,并注明任何偏离策略规则的操作。错过的信号也要记录,并说明原因。

第4步:将前向测试结果与回测进行比较
当前向测试达到计划交易笔数后,使用相同指标将其结果与回测进行比较。小幅差异属于正常现象,因为实际成交情况和成本很少像回测假设中那样理想。较大差距通常意味着存在过拟合、回测遗漏交易成本,或未遵守策略规则等问题。

第5步:将前向测试转移到小额实盘账户
在模拟账户结果经得起检验后,将前向测试转移到小额实盘账户,并使用经纪商允许的最小仓位进行交易。真实资金会带来真实的情绪反应和成交情况,这些都是模拟账户无法完全复制的。只使用你能承受损失的资金,并继续沿用相同的策略规则和交易日志。
要找到适合交易需求的账户,可以比较TMGM的账户类型,并进一步了解美分账户和免隔夜利息账户。
前向测试的每个阶段都使用同一组数据进行评估,因此接下来需要确定跟踪哪些指标。
前向测试需要跟踪的指标
在前向测试中跟踪与回测相同的指标,以便逐项比较两组结果。
| 指标 | 反映的内容 | 计算方法 | 与回测比较 |
|---|---|---|---|
| 胜率 | 盈利交易所占比例 | 盈利交易笔数除以总交易笔数 | 应处于相近区间 |
| 平均盈利与平均亏损 | 单笔盈利和亏损的大小 | 总盈利除以盈利交易笔数,平均亏损按同样方法计算 | 检查交易成本是否压低了盈利 |
| 盈利因子 | 总盈利与总亏损的比值 | 总盈利除以总亏损。大于1表示盈利超过亏损。许多交易者期望达到约1.3至1.5 | 许多交易者可接受比回测低约15%至20%,有些人可接受最多低30% |
| 期望收益 | 每笔交易的平均结果 | (胜率乘以平均盈利)减去(亏损率乘以平均亏损) | 应保持为正 |
| 最大回撤 | 从峰值到低点的最大跌幅 | 账户资金从峰值到低点的最大降幅 | 应相近,或差异能够得到合理解释 |
| 最长连续亏损 | 连续亏损的最多笔数 | 根据交易日志统计 | 帮助你为实盘交易做好准备 |
| 规则遵守率 | 遵守规则的比例 | 按规则执行的交易笔数除以有效信号数 | 应接近执行全部信号 |
盈利因子大于1,表示总盈利超过总亏损。许多交易者期望盈利因子达到约1.3至1.5,但不同交易教学指南的建议有所差异,而且任何盈利因子数值都不能保证未来表现。
规则遵守率是回测无法衡量的一个指标,因为回测假设每个有效信号都得到了执行。
策略的前向测试应持续多久?
前向测试应以预设交易笔数而非固定周数作为周期,许多交易指南建议在完成约20至100笔交易后再评估策略。测试中的交易笔数就是样本量,样本量越大,前向测试结果就越可靠。
所需时间取决于策略的交易频率。估算时,可将目标交易笔数除以策略每周提供的交易笔数。仅作示例:如果某策略每周约有5笔交易,而目标为50笔,则需要约10周。
单独一周的好坏表现意义有限,因为少数几笔交易的结果可能因偶然因素大幅波动。只有达到计划样本量后,才应评估前向测试。
前向测试的常见错误
以下五种常见错误可能使前向测试失效,而每一种都有简单的解决办法。
- 在前向测试期间修改策略规则,会将两套策略混入同一组结果,因此应固定规则,并在任何修改后重新开始前向测试。
- 交易笔数过少就评判策略,等于将运气当作结论,因此应等到达到计划样本量后再作判断。
- 跳过信号或选择性地挑选交易机会,会让结果看起来比策略规则的实际表现更好,因此应执行每个有效信号,并记录错过的信号。
- 轻信某一周的良好表现,忽略了少数几笔交易可能因偶然因素出现大幅波动,因此应根据完整样本评估前向测试。
- 遗漏点差和隔夜利息等成本,会使模拟账户看起来比实际实盘账户更赚钱,因此应在交易日志中记录每项成本。
何时停止前向测试并转入实盘
当前向测试达到计划交易笔数,且第一笔交易前设定的通过或不通过标准给出了明确答案时,就应停止前向测试。相比回测,表现有所下降是正常的,因为实际成本和成交情况不如理想假设。对于盈利因子和期望收益,许多交易者可接受前向测试结果比回测低约15%至20%,有些人可接受最多低30%。在前向测试开始前设定自己的容许幅度,并将任何数值仅视为经验参考,绝不能当作策略将会盈利的信号。
- 以小仓位开始实盘交易,前提是前向测试结果与回测较为接近,而且你遵守了策略规则。
- 返回回测阶段,如果前向测试结果未达到你设定的标准,则应修改策略规则并重新测试。
- 小幅逐步增加仓位,在开始实盘交易后循序推进。
只顾不断测试、迟迟不转入实盘,同样是一个误区,因为策略已经通过前向测试后,继续增加模拟交易带来的价值有限。
前向测试与回测的区别
前向测试随着实时价格的更新检验交易策略,而回测则使用历史价格检验相同的策略规则。
| 比较项目 | 前向测试 | 回测 |
|---|---|---|
| 所用价格 | 不断更新的实时价格 | 历史价格 |
| 速度 | 较慢,需要数周或数月 | 较快,数小时即可处理数年数据 |
| 成交与成本 | 真实的点差、滑点和成交情况 | 通常采用理想假设或估算值 |
| 交易者情绪 | 模拟账户中会有一定情绪反应,小额实盘账户中更明显 | 没有,结果已在图表上呈现 |
| 面临风险的资金 | 模拟账户不涉及真实资金,小额实盘账户涉及少量真实资金 | 无 |
| 主要作用 | 确认规则仍然有效,且你能够遵守 | 筛除从未奏效的想法 |
前向测试在回测之后进行,效果最佳。先通过回测筛除从未奏效的想法,再通过前向测试验证筛选后留下的策略。
前向测试、模拟交易与滚动前推分析的区别
前向测试是一种结构化测试,采用固定的策略规则、预设交易笔数,以及通过或不通过的判定标准,通常以模拟交易作为工具。模拟交易是使用虚拟资金按实时价格进行交易,也可以不设严格流程。有些网站将这些名称混用,但前向测试、模拟交易和滚动前推分析是三种不同的方法。
滚动前推分析也称滚动前推优化,是一种使用历史数据的回测方法。它先在一段历史数据上调优规则,再在下一段数据上测试,然后继续向前滚动推进,全程不使用实时价格。
| 比较项目 | 前向测试 | 模拟交易 | 滚动前推分析 |
|---|---|---|---|
| 所用价格 | 实时价格 | 使用虚拟资金按实时价格交易 | 分段滚动使用的历史价格 |
| 流程结构 | 固定规则、预设交易笔数,以及通过或不通过的判定标准 | 可以自由练习,也可以按结构化流程进行 | 在一段数据上调优,在下一段数据上测试,并重复该过程 |
| 主要目的 | 在投入真实资金前,使用实时价格检验已通过回测的策略 | 在不承担真实资金风险的情况下练习交易或测试想法。通常是开展前向测试的工具 | 在每一段新的历史数据上检验结果,并寻找过拟合迹象 |
常见问题
前向测试没有风险吗?
在模拟账户中进行前向测试没有资金风险,因为不涉及真实资金。小额实盘账户阶段则并非没有风险,因为真实资金可能遭受损失,因此应使用最小仓位,并且只投入你能承受损失的资金。通过前向测试也不能保证未来表现。
可以在MT4、MT5和TradingView上进行前向测试吗?
可以,你可以在MT4、MT5和TradingView上进行前向测试。MetaTrader 4(MT4)和MetaTrader 5(MT5)均提供使用实时价格的模拟账户,TradingView也有发挥同样作用的模拟交易功能。应选择你计划用于实盘交易的平台。
可以跳过前向测试,直接进行实盘交易吗?
可以跳过前向测试,但这样一来,你就需要直接承担本可在不投入真实资金的情况下通过前向测试发现的风险,例如交易成本、不理想的成交情况,以及自己面对实时价格时的交易习惯。有些交易者会缩短模拟账户阶段,转而直接使用极小额实盘账户,这仍属于前向测试。
前向测试适用于自动化交易策略吗?
适用,前向测试可用于自动化交易策略,例如智能交易系统(EA)和交易机器人。对于自动化策略,前向测试还会检查代码能否正确读取实时价格、按预期下单,以及其运行方式是否与回测中一致。



















