如何负责任地回测随机游走指数?
在测试前先明确定义
“随机游走指数”通常用作衡量价格行为是否类似于随机游走(更不可预测)或表现出更结构化的运动(更可预测)。由于存在不同的实现方式,负责任的回测始于一个精确且可测试的定义:使用了哪种具体输入序列(例如价格、收益率或其他变换),指数是如何计算的(窗口长度或其他参数),以及输出尺度的含义是什么(例如,较高的值对应更“类似随机游走”的行为)。如果你无法将计算写成可复现的公式,就无法负责任地进行回测。
机制:将稳定计算与可变条件分离
负责任的回测应区分两个层面:
- 稳定机制(指数定义):窗口大小、数学步骤以及任何数据变换。
- 可变的市场/经纪商条件:点差、佣金、滑点、交易时间、流动性、数据缺口和执行规则。
一个常见的失败模式是将“指数表现”视为独立于执行之外。为避免这种情况,应在评估框架中明确你将如何假设使用该指数——而不是将其变成一个确定的信号。
明确假设
对于你计算的任何示例,都应说明以下假设:
- 采样频率(例如分钟K线 vs 日线K线)。
- 如何处理缺失的时间戳或稀疏数据。
- 成本如何建模(即使你仅使用保守的占位符)。
- 你是基于中间价、买卖价,还是与指数计算时间对齐的收益率进行评估。
指数本身可能是稳定的,但你的评估结果可能因这些假设而发生巨大变化。
证据或示例:设计可验证的回测
负责任的方法应使用读者可复现和挑战的检查机制。
1) 选择评估目标
回测应明确你要衡量的内容。可衡量目标 的示例包括:
- 指数值较低/较高是否与未来一段时间的实际波动率较低/较高同时发生。
- 后续收益率的分布特性是否根据指数状态而有所不同。
重要提示:评估 关系,而非预测。历史关联性并不能证明未来的有效性。
2) 应用现实的成本建模
即使你没有“交易”,只要评估模拟交易决策,仍需反映成本。在评估模型中应考虑的典型成本组成部分包括:
- 交易成本(佣金、费用)。
- 点差影响(使用买卖价而非单一价格线)。
- 执行时机(决策已知时间 vs 下一根K线价格出现时间)。
- 滑点假设。
如果你忽略成本或假设完美成交,你的结果可能会系统性地过于乐观。
3) 避免前瞻偏差
明确定义指数值相对于结果所用价格的计算时间。一个常见问题是使用同一根K线的信息来预测该K线的走势。为防止此问题,应执行如下规则:“在时间 t 的指数值只能用于评估 t+Δ 之后的结果”,并在整个数据集中保持一致的时间对齐。
4) 使用样本外验证
过拟合是任何类指标方法的主要风险。可采用以下任一方式:
- 前向滚动测试:在训练窗口上反复估计或调整参数,然后在下一个保留窗口上进行评估。
- 固定样本外分割:在一个时期确定参数设置,并仅在后续时期进行一次评估。
同时报告多个时期的表现,并包含对参数选择的敏感性分析。
局限性与风险:可能导致结果失效的因素
在回测报告中至少应包含一个实质性局限性:
- 历史不可重复性:即使指数在一个数据集中与未来结果相关,这种关系也可能在新的市场状态下破裂。
- 数据质量问题:不同供应商、K线构建方法或缺失数据处理方式可能改变计算出的指数。
- 市场状态变化:“随机性 vs 结构性”的解释在波动率飙升或结构性变化期间可能表现不同。
- 成本模型风险:实际点差和执行情况各不相同;假设成本的微小变化可能导致结论反转。
- 选择偏差与多重比较:尝试多种参数组合并仅报告最佳结果可能产生虚假信心。
验证与后续问题:如何检查你的工作
为负责任地验证,请建立一个他人可遵循的检查清单:
- 读者能否根据你描述的公式和预处理步骤复现随机游走指数的计算?
- 指数与结果的时间是否对齐且无前瞻?
- 是否说明了成本和执行假设,即使已简化?