如何负责任地对TSI进行回测?

在外汇中对动量指标TSI进行负责任的回测方法。

如何负责任地对TSI进行回测?

在测试前先明确定义TSI

TSI(通常用作动量类指标)是一种通过结合一个或多个回看周期内的价格变动信息,将时间序列转换为输出的规则。回测则是将这些规则应用于历史数据,以衡量该指标行为本会如何表现的过程。

一个负责任的起点是区分两个层面:

  • 稳定的机制:TSI如何从选定的输入序列和参数中计算得出。
  • 可变的条件:市场状态、数据质量以及结果如何转化为实际执行。

只有在你对这两个层面都清晰之后,才能讨论其含义。

选择可解释的数据输入和假设

回测的意义取决于输入是否符合预期用途。对于TSI,需明确以下选择:

  • 价格序列:使用哪个字段(例如中间价 vs 买/卖价)。如果你无法为某个选择提供合理依据,则应将其视为一项假设。
  • 时间处理:K线周期、交易时段滚动和对齐方式(例如确保指标值仅使用当时可用的信息)。
  • 参数设置:确切的回看周期长度以及任何平滑步骤。
  • 数据清洗:缺失K线如何处理,异常值是否修正或剔除。

如果你的设置中任何部分存在模糊性,请记录下来并在所有测试运行中保持一致。这将使你的结果具备独立可验证性。

在回测模型中包含成本和执行影响

历史价格变动不等于可交易结果。即使你没有生成交易信号,你的评估仍应反映实施过程中存在摩擦。

常见的建模漏洞包括:

  • 交易成本:点差、佣金和费用。
  • 执行延迟:在K线收盘时操作却使用收盘价可能是不现实的。
  • 滑点:预期价格与实际成交价格之间的差异。

因此,负责任的回测应对这些要素使用明确的假设。示例方法(必须声明假设):使用每笔往返交易的固定成本或简单的点差模型,并在回测逻辑改变状态时(例如每当指标条件变化时)一致地应用它。避免为了使表现“看起来合理”而调整成本。

控制偏差和过拟合

许多回测失败源于偏差而非指标设计问题。负责任的测试应包含防止你“学习未来”的控制措施:

  • 预先注册参数搜索空间:在运行优化之前确定TSI设置的范围。
  • 使用前向滚动(滚动)测试:在一个周期上选择参数,并在下一个未见周期上进行评估。
  • 保留最终保留样本:即使你多次迭代,也应预留一段数据不用于模型选择。

你还应通过测量敏感性来测试稳健性:如果回看周期设置的微小变化导致结果发生巨大变化,则该回测可能很脆弱。

使用与预期结论相匹配的样本外检验

一个关键原则是:历史关系不能确立未来结果。因此你的评估应聚焦于设计所能支持的内容。

实用且负责任的检验包括:

  • 跨多个时间段的样本外表现比较
  • 跨市场状态的稳定性:在趋势、震荡、高波动与低波动时期进行测试(由你自己的可衡量标准定义)。
  • 误差范围和分布检验:关注结果的变异性,而非单一汇总数字。

如果你的目的是理解TSI行为而非声称其可投资性,你仍可将这些检验应用于你的指标(例如指标值的分布、持续性特征,或在你选择的评估规则下的类似回撤行为)。

一个实质性限制:回测只能验证流程,而非未来

一种常见失败模式是将“回测运行正确”与“策略会有效”混淆。即使有谨慎的数据处理和样本外测试,负责任的回测仍可能因以下原因被削弱:

  • 非平稳性:市场动态随时间变化。
  • 隐藏的实施差异:你假设的成本、执行时机和订单处理可能与现实不符。
  • 选择效应:大量迭代可能产生拟合噪声的结果。

因此,最站得住脚的解释通常是关于在既定假设下测试行为的稳健性,而非关于保证未来结果。

下一步应验证的内容

如果你想负责任地回测TSI,请逐步验证你的设置:

  1. 确认TSI计算输入和参数定义与你的预期解释一致。
  2. 确认你的时间假设(信息何时可用 vs 何时采取行动)。
外汇和差价合约交易具有重大风险。FoxiForex的信息仅用于教育,不构成个人财务建议。赞助内容会被清楚标注。