如何负责任地回测 ADX?

通过考虑偏差成本和样本外检验,负责任地回测 ADX。

如何负责任地回测 ADX?

在回测前先明确定义 ADX 的含义

ADX(平均趋向指数)是一种衡量趋势强度的数值指标,由方向性移动分量计算得出。负责任的回测始于区分两个方面:(1)稳定的指标机制——ADX 如何从价格序列计算得出,以及你如何处理时间和K线;(2)可变的现实条件——点差、执行质量、市场状态和数据质量。历史结果无法证明未来表现,因此你的目标不是预测,而是准确验证:在明确假设下,基于 ADX 构建的交易规则是否如预期运行。

如果你的计划涉及将 ADX 作为更大决策规则的一部分,请用清晰的语言定义这些规则,并保持 ADX 的计算逻辑独立于规则本身。

机制:确保 ADX 计算和数据集构建可复现

负责任的 ADX 回测应为每个计算步骤明确假设:

  • K线定义:使用的时间周期、K线如何从逐笔数据或更低级别数据构建,以及价格是否经过调整。
  • 指标参数:ADX 的回看周期长度,以及实现中使用的任何平滑设置。
  • 时间对齐:确保在决策时刻使用的 ADX 值仅包含该时刻之前可用的信息。
  • 数据清洗:一致地处理缺失K线、异常值和重复数据。

这种可复现性至关重要,因为 ADX 对如何从连续价格变动中计算方向性移动非常敏感。实现中的微小差异——例如K线聚合方式、时区边界或对跳空的处理——都可能导致显著不同的 ADX 路径。

成本与摩擦:建模可能实际影响结果的因素

回测常因忽略成本而夸大结果。为使评估更贴近现实,应在假设收益计算中至少包含以下内容:

  • 交易成本:执行时的买卖价差假设。
  • 执行滑点:成交价可能比中间价差多少的规则。
  • 延迟与交易时机:决策是在K线收盘、开盘还是盘中触发,以及这如何影响成交价格。

明确陈述这些假设(例如:“假设点差恒定”或“若有数据则使用实际点差观测值”),并在整个数据集中一致应用。如果你无法用现有数据合理证明成本模型,请将结果标记为不完整。

证据与示例:测试完整规则,而非仅 ADX 数值

一种常见失败模式是将 ADX 读数视为独立信号。ADX 是一个数值,其有效性取决于你如何将其与其他条件结合使用(例如趋势方向过滤器、进出时机或仓位管理规则)。负责任的做法是:

  1. 定义一条使用 ADX 及其他附加条件的规则
  2. 在计入成本的情况下回测完整规则
  3. 评估多个时期(不同市场状态),观察行为是否稳定。

构建示例时,使用简单透明的设置:选择一种决策逻辑,准确记录如何从计算出的序列中读取 ADX,然后比较计入和未计入成本时的表现。如果加入成本后结果大幅恶化,这正是关于现实性的关键证据。

局限性与风险:需警惕的失败模式

即使机制严谨,ADX 回测仍可能以可预见的方式失败:

  • 历史数据过度拟合:过多参数调整可能拟合噪声而非结构。
  • 市场状态依赖性:ADX 在震荡市与趋势市中的趋势强度表现可能不同。
  • 数据问题:交易品种列表中的幸存者偏差、错误的代码映射或不一致的K线构建。
  • 前视偏差:因时间戳错位或指标计算错误而使用了未来信息。
  • 执行不匹配:假设了现实中无法实现的理想成交。

在通过更严格的检验前,应将任何看似成功的结果视为临时性的。

验证:样本外检验与偏差控制

为避免夸大结论,应使用结构化流程进行验证:

  • 样本内与样本外:在一个时期开发和校准规则,然后在另一个独立且未接触过的时期进行测试。
  • 前向滚动验证:使用滚动窗口反复重新拟合,并在下一段数据上测试。
  • 参数敏感性:轻微调整 ADX 参数,观察结果是否稳健或脆弱。
  • 偏差审计:确认时间对齐、K线构建,且无未来价格数据泄露到计算中。

一个实用的接受标准是稳定性:当你在已记录的合理范围内改变假设时,结果不仅应更好,还应保持大致相似。

外汇和差价合约交易具有重大风险。FoxiForex的信息仅用于教育,不构成个人财务建议。赞助内容会被清楚标注。