如何负责任地回测斐波那契时间区?
机制与定义
斐波那契时间区是一种基于时间的图表方法,使用斐波那契比率在价格图表上放置垂直的时间标记。在实践中,你首先选择一个参考点(通常与图表上的某个观察到的事件相关),然后选择第二个点并计算它们之间的“时间跨度”。将该跨度的斐波那契倍数加到(或从)起始日期中,以创建未来(或过去)的时间标记,该方法预期在这些时间点出现市场活动。
为了负责任地进行回测,应将此方法视为具有可完全指定输入的确定性规则:
- 参考事件日期
- 选择锚定点的规则
- 使用的斐波那契比率
- 如何将时间标记转化为可测量的结果窗口
因此,“回测”应是可复现的:另一个人使用相同的规则和相同的假设,应获得相同的时间标记日期和相同的评估数据集。
需要测试的内容:数据、成本与假设
回测质量更多取决于数据管道和测量定义,而非图表构想本身。
1) 数据与对齐
- 使用具有明确定义时间框架的历史价格数据(例如,固定间隔的K线图)。
- 说明时区约定以及如何将时间标记对齐到K线(例如,时间标记落在K线收盘时还是开盘时)。如果你不定义这一点,结果可能仅因对齐选择而改变。
2) 结果定义 提前决定“成功”的含义。时间区标记可通过以下规则进行评估:
- 在标记后Y根K线内,价格是否移动至少X
- 在窗口期内是否曾突破某一阈值
- 方向是否符合预定义标准
即使你只使用一个简单的标准,也必须明确定义(X、Y、方向规则)并在评估期间保持不变。
3) 成本与执行假设(kostensoorten) 历史价格变动不等于实际可交易结果,一旦包含:
- 交易成本(佣金/费用)
- 买卖价差影响
- 订单执行的滑点
负责任的回测应通过一致应用保守估算来反映这些“kostensoorten”。至少,应说明你对相对于观察到的K线的有效入场/出场价格的假设。
4) 计算假设(aannames) 列出每一项计算假设:
- 使用的锚定选择规则
- 包含的斐波那契比率
- 是否在每个序列中测试多个锚定点(以及如何选择)
- 是否允许在看到结果后更改参数
如果你的锚定点选择基于事后信息(例如,选择使时间区“看起来不错”的点),回测可能会产生误导。
偏差控制与证据检查
许多“成功”的回测因偏差和过拟合而失败。应实施检查以针对最常见的失败模式。
1) 前瞻性与数据泄露 确保锚定点和所有参数在评估窗口开始前已知。如果你的方法“使用”了后续K线的信息来设定锚定点,则存在前瞻性偏差。
2) 通过灵活参数导致的过拟合 如果你尝试多种斐波那契比率、窗口大小、结果阈值或锚定点选择,可能会意外拟合历史噪声。可通过以下方式控制:
- 在最终评估前固定参数集
- 使用有限的、预先确定的参数网格
- 报告性能在不同参数变化下的变化情况
3) 选择偏差(你选择测试的内容) 如果你选择资产、时间段或事件是因为它们产生了吸引人的结果,你的证据就会失真。通过预先定义范围(资产和日期)并在所有地方应用相同规则来缓解。
4) 样本外测试(variabele factoren) 市场状态会变化。使用样本外周期来评估泛化能力:
- 在一个周期上开发和调优
- 在未用于调优的另一个不同周期上验证
这直接检验了历史关系是否可能与特定市场状态相关,而非与底层机制相关。
实质性局限与失败模式
斐波那契时间区是基于时间的标记,但基于时间的方法仍可能以可预测的方式失败:
- 非平稳性: 时间标记与价格行为之间的关系可能在不同市场状态下发生变化。
- 对锚定点选择的敏感性: 参考点选择的微小差异可能导致所有时间区偏移。
- 测量不匹配: 如果成功定义不能反映市场反应方式(以及你如何衡量它),测试可能会奖励虚假信号。
- 成本主导: 即使某种模式在原始价格中显现,现实的交易成本也可能消除其优势。