如何负责任地回测 ADX 策略?
明确你要回测的内容
回测是一种将固定规则集应用于历史市场数据以生成假设结果的模拟过程。对于“ADX 策略”,首要步骤是明确定义平均趋向指数(ADX)在规则中的作用。例如,具体说明在你的框架中 ADX 指标是如何计算的,策略使用了哪些阈值或市场状态(例如“趋势强度”),以及这些条件如何转化为持仓决策。
常见的两个混淆来源是:(1)将指标解释与交易规则混为一谈(仅一个指标本身并不构成完整策略);(2)规则未明确写出(不同解释会导致不同结果)。负责任的做法始于明确写下:入场逻辑、出场逻辑、仓位管理方法(即使为固定仓位),以及在无信号期间的处理方式。
区分稳定机制与可变条件
将策略机制视为稳定部分,将市场或经纪商条件视为可变部分。成本和执行通常是最大的可变驱动因素。即使你不假设实时数据,仍可概念性地建模交易影响:在模拟中包含点差(或等效成本)、佣金和滑点假设作为输入。
为每一次计算或示例明确说明假设。例如,如果你假设订单在下一根K线开盘时成交,这一假设会影响结果。如果你假设固定滑点,需记录并测试其敏感性。成本敏感性检查有助于防止一种常见失败情况:策略看似盈利仅因忽略了交易摩擦。
通过严谨的实验设计控制偏差
负责任的回测还包括控制“偏差”,即回测设置无意中使结果看起来比实盘更好。
你可以在不依赖任何特定提供商的情况下应用以下关键偏差控制方法:
- 前向滚动验证:仅在较早时间段拟合任何阈值或参数,然后在后续时间段进行测试。
- 样本外测试:保留最终一段时期,在任何调优过程中不查看。
- 参数稳定性检查:验证当参数略有变动时,结果不会崩溃。
- 多个市场状态和多个时间段:在不同波动性/趋势条件下测试,而非单一时期。
- 防止数据泄露:确保信号仅使用决策时刻可用的信息(例如,避免使用未来K线来决定当前操作)。
这些控制措施针对一个重大失败模式:过拟合。过拟合发生在规则匹配历史噪音而非持久结构时,导致回测在某一时间段表现良好,但在其他地方表现恶化。
包含证据检查并与替代方案比较
当回测证据超越单一关键指标时,其可信度更高。评估收益(或你选择的任何绩效指标)在其他合理设置下是否保持定性一致。
一种实用方法是定义若干情景并每次重新运行回测:
- 使用一系列假设的执行成本(例如,保守 vs. 适度)。
- 改变时间粒度假设(至少验证结果不完全依赖于某一K线周期)。
- 与简单基准(如“保持空仓”(不交易)或通用趋势过滤器(概念上))进行比较,以确保指标规则增加了决策价值。
即便如此,结果仍会因市场状况、成本、执行以及你建模的特定品种特征而异。历史关系并不保证未来结果。
局限性与“负责任”的停止条件
你的分析至少应包含一个重大局限性:市场状态变化。基于 ADX 的解释通常依赖趋势强度行为;如果市场转向区间震荡或不同结构动态,策略逻辑可能失效。
另一个失败模式是测量与实施不匹配:你计算或采样指标的方式以及决策时机的应用,可能与实际交易方式不同。因此,负责任的回测应包含从“指标条件变为决策”到用于执行的具体K线/时间的清晰映射。
你还应为持续调优定义一个停止条件。例如,如果表现严重依赖某一狭窄时期,或微小参数变化就导致结果方向反转,则应将其视为该设置可能无法泛化的证据。
验证与下一个待回答问题
为验证你的理解,请独立回答以下问题:
- 哪些确切的规则定义将 ADX 条件转化为交易决策?