3. 均值回归现象
一、均值回归的直观理解
均值回归(Mean Reversion)描述的是这样一个现象:当一个变量偏离其长期均衡水平后,存在一种内在力量把它拉回中心。它并不是说价格“必须”回到某个固定数字,而是说偏离越远,回归的倾向越强。理解这一点,可以用三个日常类比:
- 橡皮筋:拉得越长,回弹的力越大。价格偏离均值越远,回归压力通常越明显。
- 体温调节:健康人的体温围绕 36.5°C 波动,发烧是偏离,退烧过程就是回归。
- 醉汉走路:他每一步方向随机,但长期看不会无限远离路灯,因为存在“回家”的微弱牵引。
在量化语言中,均值回归通常用 Ornstein-Uhlenbeck(OU)过程刻画:
dX_t = θ(μ - X_t)dt + σ dW_t
θ:回归速度(越大回归越快)
μ:长期均值
σ:波动率
dW_t:布朗运动增量
其中 θ 是本章后续建模的核心参数。θ 越大,偏离被纠正得越快;θ 趋近于 0,过程就退化为随机游走。
二、金融物理中的实例
均值回归在金融市场中并非处处成立,但在特定品种和特定时间尺度上非常典型。以下是几个常见场景:
| 场景 | 回归对象 | 典型 θ 量级 | 说明 |
|---|---|---|---|
| 配对交易 | 两只股票价差 | 中高 | 价差偏离历史均值后做空高估、做多低估 |
| 商品跨期价差 | 近月与远月合约价差 | 中 | 受仓储、交割制度约束,价差有边界 |
| 利率 | 短期利率 | 中低 | 央行政策目标形成长期锚 |
| 波动率 | 隐含波动率指数 | 高 | VIX 具有明显的脉冲后回落特征 |
| 日内微观结构 | 买卖价差、订单失衡 | 很高 | 做市商库存管理导致快速回归 |
以配对交易为例,假设股票 A 与股票 B 历史价差均值为 0,标准差为 1。当价差达到 +2 时,均值回归策略会做空 A、做多 B,等待价差回到 0 附近平仓。这里的 θ 决定了价差回归的速度,也直接决定了持仓时间和资金占用成本。
金融物理视角下,均值回归常被解释为“势能井”:价格被某种经济摩擦或制度约束限制在均衡附近,偏离会积累反向势能。
三、与趋势和随机游走的区别
很多初学者会把均值回归、趋势和随机游走混为一谈。三者在统计特征上有本质差异:
- 均值回归:自相关为负,偏离后倾向于反向修正,方差随时间收敛。
- 趋势(动量):自相关为正,上涨后倾向于继续上涨,方差随时间扩张。
- 随机游走:自相关为零,过去信息无法预测未来方向,方差随时间线性增长。
可以用一个简单实验区分三者。对同一段价格序列计算滞后 1 期的自相关系数:
import numpy as np
def lag1_autocorr(series):
s = np.asarray(series, dtype=float)
s = s - s.mean()
return np.corrcoef(s[:-1], s[1:])[0, 1]
# 均值回归序列:负自相关
# 趋势序列:正自相关
# 随机游走:接近 0
更严格的判断可以结合方差比检验(Variance Ratio Test)或 ADF 单位根检验。若 ADF 拒绝单位根,说明序列更可能是均值回归而非随机游走。
常见误区:把“价格围绕均线波动”直接等同于均值回归。均线本身会随价格移动,真正的均值回归需要检验序列是否具有稳定的长期均值和负自相关。否则可能只是趋势中的正常回调。
四、案例复盘与建模启示
考虑一个真实场景:某商品近月与远月价差在过去两年围绕 50 波动,标准差约 8。某日价差扩大到 78,即偏离约 3.5 个标准差。若直接做空价差,可能面临两种结果:
- 价差在数日内回归到 55,策略盈利;
- 价差继续扩大到 95,因为出现了交割规则变化或库存极端紧张,此时均值本身发生了漂移。
这个案例说明:均值回归建模的关键不只是估计 θ,还要判断均值 μ 是否稳定。若 μ 发生结构性变化,回归速度再快也可能失效。因此实战中通常需要:
- 滚动估计 μ 和 θ,而不是用全样本固定值;
- 设置偏离阈值和止损边界,防止“均值漂移”导致爆仓;
- 结合基本面或制度约束,确认回归逻辑仍然成立。