前向测试(Forward Testing)简称前测,是指在实际市场中,从现在到未来,根据既定的交易规则进行交易并验证其有效性的过程。
本文将深入解析前向测试的意义,与回测的区别,并介绍在MT5平台上进行前向测试的具体方法及常见问题。
在外汇交易中,前测是指基于特定交易规则,从现在起到未来的实际市场中进行交易,并验证其有效性的过程。
与使用历史数据进行回测不同,前向测试则利用未来的数据(即实际市场)来进行验证。
它是判断交易规则在现实市场中是否具有效性的重要依据。
回测是透过使用过去的汇率数据来测试交易规则的有效性及表现。除了验证规则的有效性外,回测还允许根据需要进行参数调整,从而优化交易策略(提升表现)。
然而,在进行优化时,需要谨慎避免 过度拟合(Overfitting)的风险。
过度拟合(过适)指的是过分调整交易参数来迎合历史数据(过去的汇率),这样的交易规则虽然在回测中表现出色,但往往无法在实际市场中维持有效性,并可能在前向测试中无法取得理想的结果。
本文将介绍如何在Titan FX的MT5(MetaTrader 5)平台上执行前向测试,并提供具体步骤及需注意的要点。
MT4 没有内建的前向测试功能,但可以透过手动划分测试范围、使用模拟帐户或第三方工具来模拟前向测试。
步骤1:
从菜单栏中点击「查看」,然后选择 「策略测试」;或直接按 Ctrl + R。
步骤2:
在策略测试的选单列表中选择 「前向优化」。
重点说明:选单的差异仅在于初始设置
策略测试中有多个菜单选项,如果仅进行常规优化,请选择「完成优化」。
如果同时进行优化和前向测试,请选择「前向优化」。
无论选择哪个选项,都会进入相同的策略测试器设置页面。
选择「前向优化」时,与前向测试相关的设置项目会自动预设。
如果选择「完成优化」,也可以手动设置「前向测试」选项来执行前向测试。
关于「完成优化」的中文翻译:
「完成优化」是误译,英文原文为「Complete Optimization」,与「遗传优化」相对应,实际意思是 「完全优化」。
步骤3:
设置前向优化所需的「前向测试」和「优化」等项目。
编号 | 项目 | 说明 |
1 | 专家 | 选择要测试的EA(自动交易系统)。 |
2 | 交易品种 | 选择要测试的货币对或其他金融工具(如黄金、原油等)。 |
3 | 货币对图表周期 | 选择测试的时间周期(如M1、M5、H1、D1等)。 |
4 | 日期 | 设置回测的时间范围,包括开始日期和结束日期。 |
5 | 转寄 | 设置前向测试的时间范围: ・「1/2」:前半部分用于优化,后半部分用于前向测试。 ・「自定义」:指定任意日期,该日期之后的数据用于前向测试。 |
6 | 延迟 | 模拟交易执行时的延迟时间(以毫秒为单位)。 |
7 | 模式 | 选择价格生成模式: ・每次报价:最精确的模式。 ・每个报价基于真实报价:基于实际价格数据的模拟。 ・1分钟OHLC:仅使用开盘价数据,测试速度最快但精确度最低。 ・仅使用开价:进行开盘价基于的模拟。 ・数学计算:使用数学模型进行计算。 |
8 | 入金 | 设置模拟帐户的初始资金。 |
9 | 杠杆 | 设置模拟帐户的杠杆比例。 |
10 | 优化 | 选择是否进行参数优化,以及优化方法: ・禁用:不进行优化。 ・完全算法:对所有参数组合进行回测。 ・基于快速遗传算法:基于遗传算法进行部分参数组合的回测。 ・在市价报价中选择全部交易品种:选择市价报价中的所有交易品种进行优化。 |
11 | 优化标准 | 选择优化结果的筛选或排序标准: ・最大本日余额:按帐户余额从大到小排序。 ・最大盈利因素:按盈利因素从大到小排序。 ・最大期望收益:按期望收益从大到小排序。 ・最小盈亏:按盈亏从小到大排序。 ・最大采收率:按采收率从大到小排序。 ・最大夏普比率:按夏普比率从大到小排序。 ・最大定制:根据定制的标准进行排序。 ・最高复杂标准:按复杂标准从大到小排序。 |
【优化】中的完全算法 VS. 基于快速遗传算法
完全算法:对参数标签中指定的所有输入变量组合进行回测。
遗传算法:基于一定的标准,筛选出部分输入变量组合进行回测,从而缩短优化时间。
遗传算法的优点是优化速度更快,但缺点是部分组合不会被测试。
步骤4:
在「设置」标签旁边的「参数」标签中,勾选要优化的参数,并输入「值」、「开始」、「步长」」和「停止」。
设置完成后,点击「开始」按钮,优化过程将启动。
步骤5:
前向测试完成后,查看「向前结果」标签,这里会显示结果列表。
每个结果都会被编号(通过),并根据优化标准(如「最大余额」)进行排序。
双击「前向结果」列表中的某个结果,即可查看详细信息。
步骤6:
在「向前结果」标签中,双击想要查看的结果后,会显示「后台测试测(回测)」、「向前」和「图表」三个标签。
「后台测试测」与「向前」标签:
可以分别查看样本期间和非样本期间的表现。
图表标签:
损益图表中会显示一条灰色线,线之前的部分是用于优化的数据期间(样本期间),线之后的部分是前向测试期间(非样本期间)。
非样本期间的表现是否下降,是判断是否过度拟合的关键。
Q1. 前向测试有意义吗?
前向测试可以提供有价值的信息。
由于它是在实际市场环境中进行的测试,因此能帮助判断交易规则是否适用于当前的市场状况。这是回测无法提供的资讯。
前向测试和回测相辅相成,两者结合后能够帮助我们调整和建立更可靠的交易规则。
Q2. 什么是前向优化?
前向优化是一种将历史数据(过去的汇率)分为学习数据和测试数据,并进行优化和验证的方法。
先使用一部分数据作为学习数据来进行参数优化,然后在另一部分测试数据上对这些参数进行评估。
这是一种模拟回测和前向测试的方式,可以有效避免过度拟合。
Q3. 什么是逐步前向测试(Walk Forward Test)?
逐步前向测试是一种逐步移动测试数据的期间,并反覆进行多次前向测试的方法。这样可以评估自动交易系统的表现是否稳定。
前向测试是验证交易策略在实际市场中表现的重要工具,尤其对于避免过度拟合和提升策略稳定性具有关键作用。通过在非样本数据中测试策略,交易者可以判断其是否能在未知市场中保持稳定表现。
结合回测和前向测试,交易者可以更全面地评估策略的有效性,并根据测试结果进行调整和优化。此外,逐步前向测试进一步提高了策略的稳定性,为实际应用提供了更高的信心。
无论是自动交易还是策略开发,前向测试都是不可或缺的一环,帮助交易者建立更可靠、更具适应性的交易规则,从而提高长期盈利的可能性。