1. 均值回归的哲学与数学基础:从“物极必反”到Ornstein-Uhlenbeck过程
大家好,我是你们的老朋友。今天咱们来聊聊均值回归——这个在量化交易里被说烂了、但又极少有人真正吃透的概念。
说实话,我刚开始做量化那会儿,对均值回归的理解也就停留在“涨多了会跌,跌多了会涨”这个层面。直到有一次,我在做商品期货的配对交易时,眼睁睁看着一个价差偏离了5个标准差还不回头,亏掉了我整整三个月的利润。嗯,从那以后,我才真正开始认真研究:均值回归到底是个什么东西?它的数学骨架长什么样?
这一章,我们就从哲学到数学,把均值回归的底裤扒干净。
1.1 哲学源头:为什么“物极必反”是交易的第一性原理?
你想想看,自然界里到处都是均值回归的影子。
- 弹簧拉长了,它会弹回去
- 钟摆摆到最高点,它会荡回来
- 人的体温高了,身体会出汗降温
金融市场也一样。价格不可能永远朝一个方向跑,否则早就有人把全世界的钱都赚走了。但这里有个坑——“回归”不等于“马上回归”。我在项目中遇到过最惨的一次教训:做空一只严重高估的股票,结果它又涨了40%才回头。我的仓位早就爆了。
1.2 数学基础:从随机游走到Ornstein-Uhlenbeck过程
好,哲学聊完了,咱们上硬菜。
金融里最基础的模型是几何布朗运动,也就是股价的随机游走。它的特点是:没有“记忆”,没有“拉力”。今天涨了,明天可能继续涨,也可能跌,完全随机。
但均值回归不一样。它有一个“中心吸引力”——价格偏离均值越远,被拉回来的力量就越大。这个数学工具,就是Ornstein-Uhlenbeck过程,简称OU过程。
OU过程的随机微分方程长这样:
dX(t) = θ(μ - X(t))dt + σdW(t)
别被符号吓到,我来拆解一下:
| 符号 | 含义 | 我的理解 |
|---|---|---|
| X(t) | 当前价格(或价差) | 就是你现在看到的价格 |
| μ | 长期均值 | 价格最终会回到的位置 |
| θ | 回归速度(均值回复率) | 拉回来的力气有多大 |
| σ | 波动率 | 随机扰动的强度 |
| dW(t) | 布朗运动增量 | 市场噪音 |
说白了,这个公式就是在说:价格的变化 = 回归力 + 随机噪声。
1.3 离散化:把数学公式变成可交易的策略
连续时间的OU方程很美,但咱们做交易得用离散数据。所以需要把它变成差分形式:
X(t+1) - X(t) = θ(μ - X(t))Δt + σ√Δt * ε(t)
其中ε(t)是标准正态随机变量。这个形式,其实就是一阶自回归模型AR(1):
X(t+1) = α + β * X(t) + ε(t)
其中β = 1 - θΔt。如果β < 1,就说明存在均值回归。
我在项目中一般这样判断:
- β接近1:接近随机游走,别做均值回归
- β在0.8-0.95之间:温和回归,适合做配对交易
- β < 0.8:回归很快,但小心是震荡市
1.4 知识体系总览:一张图看懂均值回归
下面这张SVG图,是我自己梳理的均值回归知识框架。每次做新策略前,我都会对着它过一遍,确保没有遗漏。
1.5 一个简单的Python示例:拟合OU过程
光说不练假把式。下面这段代码,是我在实盘前必跑的测试脚本。它用最小二乘法估计OU参数:
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
def fit_ou_process(prices):
"""
拟合Ornstein-Uhlenbeck过程参数
prices: 价格序列(一维数组)
返回: (mu, theta, sigma)
"""
# 计算滞后项
X_t = prices[:-1].reshape(-1, 1)
X_t1 = prices[1:]
# 线性回归:X(t+1) = α + β*X(t)
model = LinearRegression()
model.fit(X_t, X_t1)
alpha = model.intercept_
beta = model.coef_[0]
residuals = X_t1 - model.predict(X_t)
# 换算成OU参数
dt = 1.0 # 假设日频数据
theta = -np.log(beta) / dt
mu = alpha / (1 - beta)
sigma = np.std(residuals) * np.sqrt(2 * theta / (1 - beta**2))
return mu, theta, sigma
# 使用示例
# mu, theta, sigma = fit_ou_process(price_series)
# print(f"长期均值: {mu:.2f}, 回归速度: {theta:.4f}, 波动率: {sigma:.4f}")
1.6 本章小结:你该带走的三样东西
好了,这一章的内容就到这里。我不喜欢啰嗦,直接给你三个最核心的 takeaways:
- 均值回归不是玄学,是数学——OU过程给出了精确的数学描述,别再用“感觉”做交易了
- 回归速度θ是关键参数——它决定了你的持仓周期和止损位置。θ太小,别碰;θ太大,小心假回归
- 离散化是桥梁——把连续公式变成AR(1)模型,你就能用Python做参数估计和回测了
下一章,我们会深入讨论如何用这些参数构建实盘策略——包括进场信号、仓位管理、以及我最拿手的“动态阈值”技巧。到时候见。
公众号:蓝海资料掘金营,微信deep3321