Variance

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

摘要

Variance 计算滚动方差。

更新 API

result = rtta.Variance().update(value)

update(...) 每次接收一个 value;只推进状态时可调用 advance(...)

工作原理

实现维护以滚动锚点为中心的充分统计量。每次加入新样本、移除过期样本;窗口 锚点变化时,再对中心矩进行平移。

递推公式

\[\mu_t=\frac1{|W_t|}\sum_{i\in W_t}x_i\]
\[\sigma_t^2=\frac1{|W_t|}\sum_{i\in W_t}(x_i-\mu_t)^2\]

实现说明

递推公式在 src/rtta/indicator.cppclass Variance 中实现。方差由样本与 滚动锚点之差计算,不采用容易发生消减误差的 \(E[x^2]-E[x]^2\) 恒等式。 因此,即使价格在 \(10^7\) 附近而变动只有几分钱,结果仍能保持精度。

参考资料