3、协整理论入门:协整定义、平稳性检验(ADF检验)、协整回归、协整对套利的意义
各位同学,今天我们来聊聊协整。说实话,这是跨品种套利最核心的理论基础。没有协整,你做的那些配对交易说白了就是瞎蒙。我在刚入行那会儿,也犯过这个错——看着两个品种走势差不多就直接上套利,结果亏得我怀疑人生。
后来我才明白,协整才是套利的灵魂。它告诉我们,两个看似随机游走的序列,其实存在一种长期均衡关系。嗯,咱们一步步来拆解。
3.1 协整的定义:到底什么是协整?
先给个严谨定义:如果两个或多个非平稳时间序列的线性组合是平稳的,那么这些序列之间存在协整关系。
说白了,就是两个醉汉走路——各自东倒西歪(非平稳),但他们的距离始终保持在一定范围内(线性组合平稳)。我做过一个螺纹钢和热卷的套利策略,当时就是发现它们虽然价格波动剧烈,但价差始终围绕均值回归,这就是典型的协整关系。
核心要点:
- 单个序列非平稳,但组合后平稳
- 存在长期均衡关系
- 短期可以偏离,但长期必然回归
你想想看,如果两个品种没有协整关系,那它们的价差就可能越走越远,套利就成了单向赌博。所以,协整是套利的前提条件,没有之一。
3.2 平稳性检验:ADF检验
要判断协整,第一步就是检验序列是否平稳。我个人习惯用ADF检验(Augmented Dickey-Fuller Test)。为什么叫"增广"?因为它解决了原始DF检验中残差自相关的问题。
ADF检验的原假设是:序列存在单位根(非平稳)。如果p值小于0.05,就拒绝原假设,认为序列平稳。
来看代码实现:
import statsmodels.tsa.stattools as ts
import pandas as pd
import numpy as np
# 模拟两个非平稳序列
np.random.seed(42)
t = np.arange(100)
y1 = 0.5 * t + np.random.normal(0, 1, 100)
y2 = 0.5 * t + np.random.normal(0, 1, 100)
# ADF检验
adf_y1 = ts.adfuller(y1, autolag='AIC')
adf_y2 = ts.adfuller(y2, autolag='AIC')
print(f"y1的ADF统计量: {adf_y1[0]:.4f}, p值: {adf_y1[1]:.4f}")
print(f"y2的ADF统计量: {adf_y2[0]:.4f}, p值: {adf_y2[1]:.4f}")
实战经验:
我曾经在测试股指期货和ETF的套利时,发现ADF检验的p值刚好在0.05附近。这时候别急着下结论,我建议你多取几个滞后阶数试试,或者用KPSS检验做交叉验证。记住,统计检验不是圣旨,要结合业务逻辑。
ADF检验的公式其实不复杂:
Δy_t = α + βt + γy_{t-1} + δ₁Δy_{t-1} + ... + δₚΔy_{t-p} + ε_t
其中:
- γ = 0 表示存在单位根(非平稳)
- γ < 0 表示序列平稳
- 滞后阶数p通过AIC或BIC自动选择
3.3 协整回归:如何找到均衡关系?
确认序列都是同阶单整后(比如都是I(1)),我们就可以做协整回归了。最经典的方法是Engle-Granger两步法:
- 第一步:用OLS回归估计长期均衡关系
- 第二步:对残差做ADF检验,判断是否平稳
代码实现如下:
import statsmodels.api as sm
# 第一步:OLS回归
X = sm.add_constant(y1)
model = sm.OLS(y2, X).fit()
residuals = model.resid
print(f"协整系数: {model.params[1]:.4f}")
print(f"截距项: {model.params[0]:.4f}")
# 第二步:残差ADF检验
adf_resid = ts.adfuller(residuals, autolag='AIC')
print(f"残差ADF p值: {adf_resid[1]:.4f}")
if adf_resid[1] < 0.05:
print("残差平稳,存在协整关系!")
else:
print("残差非平稳,不存在协整关系")
注意:
协整回归的临界值不能直接用标准ADF表,要用MacKinnon临界值。我刚开始做的时候没注意这个,结果误判了好几次。statsmodels的adfuller函数默认已经处理了这个问题,但如果你自己实现,一定要查协整专用临界值表。
3.4 协整对套利的意义
好了,现在我们来回答最关键的问题:协整到底怎么帮我们赚钱?
假设我们找到了两个协整的品种,比如螺纹钢和热卷。它们的价差(或残差)是平稳的,意味着:
- 当价差偏离均值2个标准差时,大概率会回归
- 我们可以在价差扩大时做空价差,缩小时做多价差
- 这就是统计套利的核心逻辑
我做过一个实盘策略,专门交易螺纹钢和热卷的价差。当时回测了3年数据,夏普比率能做到1.8以上。但要注意,协整关系不是一成不变的。我记得2021年政策调控那会儿,螺纹钢和热卷的协整关系就发生了结构性变化,如果不及时调整参数,就会亏得很惨。
协整套利的三个关键点:
- 协整检验要定期重做——市场结构会变
- 交易成本必须考虑——价差回归的幅度可能覆盖不了手续费
- 止损要严格——协整关系可能永久性破裂
最后,我用一张图来总结本章的知识体系:
这张图把本章的核心逻辑串起来了。从协整定义出发,到ADF检验和协整回归两个分支,最后汇聚到套利应用。你想想看,整个流程其实就是一个从理论到实践的闭环。
我的建议:
刚开始学协整的同学,别急着上实盘。先用历史数据跑一遍完整的流程:ADF检验 → 协整回归 → 残差检验 → 模拟交易。我当年就是这么过来的,踩了不少坑,但也积累了宝贵的经验。记住,纸上得来终觉浅,绝知此事要躬行。