3. 协整理论:协整关系的数学定义、Engle-Granger两步法

各位做套利的朋友,咱们今天聊点硬核的——协整理论。

说实话,我刚入行那会儿,看到“协整”两个字就头大。什么平稳性、单整阶数,听着像天书。但后来我发现,这东西说白了就是:两个不靠谱的玩意儿,凑在一起反而靠谱了

你想想看,螺纹钢和热卷,单独看价格走势,都是上蹿下跳的猴子。但它们的价差呢?往往会在一个区间里来回晃悠。这就是协整的魅力。

3.1 协整关系的数学定义

先上定义,别怕,我尽量用人话讲。

假设有两个时间序列 X_tY_t,它们各自都是非平稳的。但存在一个线性组合:

Z_t = Y_t - β * X_t

如果 Z_t 是平稳的,那我们就说 X_tY_t 之间存在协整关系。

这里有几个关键点:

  • 单整阶数要相同:两个序列必须都是 I(1) 或者都是 I(2)。一个 I(1) 和一个 I(2) 没法玩。
  • 线性组合要平稳:这是核心。平稳意味着均值回归,价差会往中间跑。
  • β 是协整系数:它决定了两个品种的配比关系。比如螺纹钢和热卷,β 可能是 1.05 或者 0.95。

重要提醒:协整 ≠ 相关性。两个高度相关的序列,可能根本不协整。我见过有人把相关系数 0.9 的品种拿来做套利,结果亏得底朝天。为什么?因为相关性只描述同步性,协整才描述长期均衡。

3.2 协整的直观理解

打个比方。你牵着一条狗散步。狗会跑来跑去,但绳子会把它拉回来。狗的位置(Y_t)和你的位置(X_t)都是非平稳的——你们都在移动。但狗和你的距离(Z_t)是平稳的——它总在绳子长度附近晃悠。

这就是协整的直观图像:两个非平稳序列,被一根看不见的“绳子”拴在一起

我在做豆粕和菜粕的套利时,就深刻体会到了这一点。这两个品种单独看,价格受天气、库存、政策影响,完全随机游走。但它们的价差呢?长期来看,就是围绕一个均值在波动。为什么?因为饲料厂可以互相替代,价差大了就会有人切换配方。

3.3 Engle-Granger两步法

好了,理论讲完了,咱们来点实操。Engle-Granger两步法,简称 EG 两步法,是检验协整最经典的方法。我建议你把它刻在脑子里。

第一步:估计协整回归

说白了,就是跑一个 OLS 回归:

Y_t = α + β * X_t + ε_t

这里 ε_t 就是残差,也就是我们说的价差。β 就是协整系数。

具体步骤:

  1. 选两个品种,比如螺纹钢(RB)和热卷(HC)。
  2. 取它们的价格序列,做 OLS 回归。
  3. 得到残差序列 ε_t = Y_t - α - β * X_t

我的经验:做回归时,我习惯把成交量大的品种放在左边(Y_t),成交量小的放在右边(X_t)。这样回归系数更稳定。当然,这不是硬性规定,但我在项目中试过,效果确实好一些。

第二步:检验残差的平稳性

这一步才是关键。我们要检验残差 ε_t 是不是平稳的。最常用的方法是 ADF 检验(Augmented Dickey-Fuller test)。

代码示例(Python):

import statsmodels.api as sm
from statsmodels.tsa.stattools import adfuller

# 假设 price1 和 price2 是价格序列
# 第一步:OLS回归
X = sm.add_constant(price1)
model = sm.OLS(price2, X).fit()
residuals = model.resid

# 第二步:ADF检验
adf_result = adfuller(residuals, maxlag=1)
print(f'ADF统计量: {adf_result[0]:.4f}')
print(f'p值: {adf_result[1]:.4f}')

if adf_result[1] < 0.05:
    print('残差平稳,存在协整关系')
else:
    print('残差不平稳,不存在协整关系')

这里要注意几个坑:

  • 滞后阶数:ADF 检验需要选滞后阶数。我一般用 AIC 准则自动选,或者直接设 maxlag=1。为什么?因为价差序列通常自相关不强,滞后太多反而降低检验功效。
  • 临界值:EG 两步法的临界值跟普通 ADF 不一样。因为残差是估计出来的,不是真实值。不过大多数软件(包括 statsmodels)会自动调整,你直接用 p 值判断就行。

我曾经踩过的坑:有一次我检验螺纹钢和热卷的协整关系,ADF 的 p 值是 0.06,差一点就显著了。我当时想,算了,不协整就不做吧。结果后来发现,是因为我用了日线数据,样本量不够。换成 5 分钟数据后,p 值直接降到 0.01。所以,样本量很重要。一般建议至少 200 个数据点。

3.4 协整检验的完整流程

我把整个流程画成了一张图,方便你理解:

协整检验完整流程图 步骤1:数据准备 获取两个品种价格序列 步骤2:单位根检验 确认两序列均为I(1) 步骤3:OLS回归 估计协整系数β 步骤4:提取残差 ε_t = Y_t - α - β*X_t 步骤5:ADF检验 检验残差平稳性 p < 0.05? ✅ 存在协整关系 可以进行套利交易 ❌ 不存在协整关系 放弃该品种对

3.5 实际应用中的注意事项

讲完了理论和方法,我再说几个实际中容易踩的坑:

常见问题 我的建议
数据频率怎么选? 日线数据适合长周期套利,分钟线适合短线。我个人偏好用 1 小时线,平衡了噪音和信号。
协整关系会变吗? 会!市场结构在变,协整关系也会漂移。我建议每 3 个月重新检验一次。
多个品种怎么选? 先做相关性分析,筛选出相关性高的品种对,再逐一做协整检验。
β 系数怎么用? β 就是你的对冲比率。比如 β=1.05,意味着做多 1 手 Y 的同时,要做空 1.05 手 X。

一个小技巧:做 EG 两步法时,我习惯把回归结果里的 R² 也看一眼。R² 越高,说明两个品种的长期关系越紧密。一般来说,R² 在 0.8 以上的品种对,套利效果会比较好。

3.6 总结

协整理论是跨品种套利的基石。没有它,你就是在瞎蒙。有了它,你至少知道哪些品种对值得做,哪些该放弃。

EG 两步法虽然简单,但非常实用。我到现在还在用这个方法筛选品种对。记住:先检验,再交易。别看着价格走势像就往上冲,那是赌博,不是量化。

好了,这一章就到这里。下一章咱们聊聊如何用协整关系构建实际的交易策略,包括开仓信号、止损设置、仓位管理这些实战内容。


公众号:蓝海资料掘金营,微信deep3321