如何负责任地回测斐波那契弧线?
在测试前明确定义斐波那契弧线
斐波那契弧线是一种绘图方法,利用基于斐波那契数列的角度或距离关系,从选定的参考点向价格图表上的后续点投射出弧形水平线。负责任的回测始于明确你要评估的具体机制,因为对弧线的不同解释可能导致不同的水平线。
用清晰的语言写下你所计算的内容。例如:
- 参考点是什么(波段高点/低点,起始/结束K线)?
- 斐波那契水平如何转换为弧线(使用哪组比率,采用何种变换方式)?
- 使用哪个时间框架和价格类型(收盘价、最高/最低价,或中间价)?
- 如何处理更新(每根新K线都重绘,还是仅在形成新的转折点时更新)?
- 如何将弧线几何关系映射为可衡量的结果(到弧线的距离、触及/穿越条件,或基于规则的触发)?
如果你无法精确地定义这些要素,就无法比较不同的回测运行结果,也无法向他人解释结果。
区分稳定的指标机制与可变条件
回测结合了两种不同的因素:一是稳定的“弧线绘制方式”逻辑,二是影响实际结果的可变市场/提供商条件。
在你的工作流程中应将这些层次分开:
- 稳定机制(固定):弧线构建规则、弧线交互的度量方式,以及你测试的决策逻辑。
- 可变条件(情景假设):数据集、数据粒度、执行模型和交易成本。
这种区分很重要,因为看似良好的结果可能源于有利的假设,而非弧线逻辑本身。如果两位研究人员测试相同的弧线机制,但使用不同的成本、执行时机或转折点检测规则,他们的结果可能无法比较。
设定数据、成本和执行的假设
负责任的回测不仅问“历史上发生了什么?”,还问“在现实约束下可能实现什么?”
将以下内容定义为明确的假设:
- 数据:使用哪些交易品种、时间范围和K线周期。同时说明是否使用经调整的数据(如涉及公司行为)。
- 采样与对齐:确认弧线仅使用决策时刻可用的信息进行计算。一个常见的失败模式是在确定转折点时无意中使用了未来信息。
- 成本(成本类型):至少建模一种成本成分,例如点差/滑点或每笔交易的通用成本。“无成本”会夸大表现。
- 执行时机:相对于触发事件的K线,头寸何时开仓和平仓?例如,是在下一根K线开盘时,还是在当前K线收盘时?
这些假设是你的测试中的“kostensoorten”(成本类型):它们描述了你包含哪些摩擦因素,以及哪些因素被有意排除。
通过参数锁定和多数据集控制偏差
回测容易产生偏差。你可以通过将过程视为测量而非调优练习来减少偏差。
实用的偏差控制方法包括:
- 参数锁定:在评估表现前,确定与弧线相关的参数(转折点规则细节、阈值、交互定义)。然后才运行回测。
- 前向滚动测试:如果必须重新拟合参数,请按时间顺序进行,使用较早时期设定参数,用较晚时期评估。
- 样本外检查:至少保留一部分数据集,直到最终评估时才使用。
在所有运行中一致使用“aannames”(假设)。如果某个细节的更改显著改善了结果,该细节可能是过度拟合的候选——特别是当它被针对单一市场机制调优时。
使用衡量多个指标的证据测试
选择与问题匹配的结果标准。对于弧线研究,你可以衡量:
- 弧线交互规则被触发的频率(频率)
- 后续价格走势(定义的时间窗口)是否与基准有差异
- 分布效应(不仅仅是平均收益)
即使不推荐交易,你仍可定义一个证据标准,例如:“弧线交互规则在多个时期内产生的效果在统计上可与简单基准区分开。”
由于结果会随“variabele factoren”(市场机制、波动性、流动性以及转折点形成方式)变化,应报告效果在哪些情况下稳定,在哪些情况下失效。
预期的局限性和失败模式
负责任的回测必须包含实质性局限。以下是图表形态和几何指标测试中常见的失败模式:
- 过度拟合:将弧线参数调优至历史特例,而这些特例不会重复出现。
- 数据泄露:转折点检测或指标更新无意中使用了未来信息。