区间行情验证指数(RangeActionVerificationIndex)

增量式、因果技术分析文档

摘要

RangeActionVerificationIndex(RAVI)是 RTTA 对 Tushar Chande 区间行情验证指数的流式实现:短周期与长周期简单移动平均线之间的绝对距离,以长期 SMA 的百分比表示。

更新 API

value = rtta.RangeActionVerificationIndex(
    short_window=7, long_window=65, fillna=True
).update(close)

每次调用 update(...) 处理一个收盘价。advance(...) 更新状态但不返回 Python 值。标量 batch(...) 返回一个 NumPy 数组。

工作原理

RAVI 与 ADX 同属判断趋势是否存在的指标:快速与慢速均线之间距离较大,表示市场具有明确方向;距离较小则表示区间震荡。与 ADX 不同,RAVI 不使用真实波幅或方向运动——只使用 SMA 的相对距离。

递推公式

令 \(x_t\) 为收盘价,\(n_s\) 为 short_window,\(n_\ell\) 为 long_window

\[S_t = \operatorname{SMA}_{n_s}(x_t), \qquad L_t = \operatorname{SMA}_{n_\ell}(x_t)\]
\[\operatorname{RAVI}_t = 100\cdot\frac{\lvert S_t - L_t\rvert}{L_t}\]

fillna=False 时,在长期窗口填满之前输出为 NaN

实现说明

该递推过程在 src/rtta/indicator.cppclass RangeActionVerificationIndex 中实现,包含两个内部 SMA 成员。

参考资料