自相关
自相关(autocorrelation)度量的是一段 K 线收益率序列与它自身的滞后副本有多相似:滞后 1 阶为正,说明一根 K 线倾向于延续上一根的方向;为负,说明 K 线倾向于交替反向;接近零,则说明上一根 K 线几乎不能说明下一根会怎样。
Senzoukria · 术语表 · 更新于 2026 年 9 月
定义与公式
取最近 N 个 K 线收益率 r_1 … r_N,以及它们在整个窗口上的那一个均值。滞后 k 阶的自相关,等于 j 从 k+1 到 N 的 (r_j − 均值)(r_{j−k} − 均值) 之和,除以全部 N 项 (r_j − 均值)² 之和。这就是 Box 与 Jenkins 的标准估计量,也是 Senzoukria 采用的那一个。
这个估计量是有意不对称的:分子有 N − k 个乘积项,而分母有 N 个平方偏离项。正是这种不对称,把结果牢牢限制在 [−1, 1] 之内。那个所谓无偏的变体改用 N − k 作除数,结果可能跑出这个范围,画成图很别扭,所以这里不采用它。
- 输入是已收线 K 线的收益率,不是价格。原始价格的自相关在几乎任何窗口上都接近 1,不携带任何信息。
- 如果窗口里的收益率全都相同,方差为零;此时数值没有定义,会作为缺失上报,而不是作为零。
- 滞后阶数按 K 线根数计,所以同一个设置在 1 分钟图和 100 笔图上对应的钟表时间完全不同。
怎么读它
- 滞后 1 阶大于零:近期 K 线倾向于把上一根的走势延伸下去。这是短期持续性在统计上的痕迹。
- 滞后 1 阶小于零:近期 K 线倾向于反转上一根的走势,这正是逐根 K 线均值回归所对应的形态。
- 接近零的数值:在该窗口、该滞后阶上不存在线性依赖。这不等于市场不可预测,只说明这一项特定检验没有发现什么。
- 窗口小则估计嘈杂。一个每隔几根 K 线就变号的数值,描述的是估计量本身,而不是状态切换。
与赫斯特指数的关系
自相关和赫斯特指数是从不同角度问一个相关的问题。自相关只看一个滞后阶;重标极差的赫斯特估计则通过累积偏离的极差,把整个窗口的持续性概括成一个数。关于赫斯特指数与均值回归的那篇指南解释了:为什么赫斯特值低于 0.5 与滞后 1 阶自相关为负经常同时出现,但并非总是如此。
在 Senzoukria 里
目录里的指标名为 Autocorrelation,属于动量组。它画在足迹图下方自己的独立窗格里,参数是窗口长度和滞后阶数,输出被硬性限制在 [−1, 1]。它读取的已收线 K 线和其他窗格指标相同,所以切换 K 线类型就会改变一个滞后阶的含义。
脚本编辑器里名为 Mean reversion under regime (HMM + Hurst) 的 Python 策略模板,把状态过滤器、z 分数入场和赫斯特确认组合在一起;在同一份脚本里再加一道自相关核对,是很自然的扩展。
常见错误
- 在价格而不是收益率上计算它,然后得出「市场趋势性很强」的结论。
- 把单个窗口的数值当成该品种的属性来读。它只是那个窗口的属性。
- 忽略预热期:在攒够 N 个收益率之前数值是缺失的,用零去填补空缺的图会误导人。
- 在考虑成本、样本量和执行之前,就把一个在统计上可见的依赖当成可交易的依赖。
相关内容
其他语言版本
常见问题
- 为什么自相关估计量被限制在 −1 到 1 之间?
- 因为分母用上了全部 N 个平方偏离项,而分子只有 N − k 个交叉乘积项。这种不平衡是 Box 与 Jenkins 估计量的已知性质,它保证这个比值的绝对值永远不超过 1。那个按 N − k 重新标度的替代估计量,在短窗口上是可能越界的。
- 自相关为正,是不是意味着趋势会延续?
- 不是。它只说明在所测的这个窗口上,相邻收益率倾向于同号。这是对刚刚过去那段时间的描述,下一个窗口上的数值完全可能不同。要把它用进一条规则,需要一个写下来的假设、成本,以及一次样本外核对。
- 该用几阶滞后?
- 通常从滞后 1 阶开始,因为它问的是最简单的问题:这根 K 线和上一根有关系吗?更大的滞后阶检验更长的依赖,但可用的乘积项更少,所以在同样窗口下估计更嘈杂。每次只改一个设置,并且把试过什么记录下来。