Chaikin 波动率(ChaikinVolatility)

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

摘要

ChaikinVolatility 是 RTTA 对下列指标的流式实现:最高价—最低价区间的 EMA 的百分比变化率。

更新 API

result = rtta.ChaikinVolatility().update(high, low)

每次调用 update(...) 都使用 highlow 处理一个观测值。如果调用方只想更新状态而不生成 Python 返回值,可以用相同的输入调用 advance(...)

工作原理

ChaikinVolatility 先以 EMA 平滑每根 K 线的价格区间,再报告该平滑区间相对于 roc_window 个样本前的百分比变化。数值上升表示区间扩张,下降则表示区间收缩。

递推公式

令 \(h_t,l_t\) 为最高价和最低价,\(n\) 为 EMA 窗口,\(k\) 为 ROC 回看期。

\[R_t = h_t - l_t, \qquad E_t = \operatorname{EMA}_n(R_t)\]
\[CV_t = 100 \cdot \frac{E_t - E_{t-k}}{E_{t-k}}\]

返回值为当前的标量指标值。

组合使用的基础指标

EMA

实现说明

该递推过程在 src/rtta/indicator.cppclass ChaikinVolatility 中实现。

参考资料