一、协整关系入门:什么是协整?为什么跨品种套利需要协整?协整与相关性的区别

各位同学,欢迎来到《跨品种套利中的协整关系实战应用》的第一章。

我是你们这门课的主讲。做了这么多年量化交易,我见过太多人一上来就问我:「老师,两个品种走势看着挺像,是不是就能套利了?」

嗯,这个问题,恰恰就是咱们今天要聊的核心。

说白了,很多人把「长得像」和「有内在联系」搞混了。这就像你看到两个人穿同款衣服,就觉得他们是双胞胎——这逻辑,在金融市场上是要亏钱的。

1.1 什么是协整?一个接地气的解释

先别急着看公式。咱们先聊个故事。

我记得有一次,我在做股指期货和ETF的套利策略。当时我盯着沪深300股指期货和对应的ETF基金,发现它们的价格走势几乎一模一样。但奇怪的是,有时候它们会突然「走散」——期货涨了,ETF没动;或者ETF跌了,期货还撑着。

这时候,新手可能会想:「完了,相关性失效了,赶紧跑吧。」

但老手会想:「等等,它们会不会再回来?」

协整,就是回答这个「会不会回来」的问题。

协整的数学定义:如果两个或多个非平稳时间序列的线性组合是平稳的,那么这些序列之间存在协整关系。

翻译成人话:

  • 两个序列本身可能「上蹿下跳」(非平稳)
  • 但它们之间的「差距」或者「价差」是稳定的(平稳)
  • 一旦差距拉大,就会有一股力量把它们拉回来

你想想看,这像不像一根橡皮筋拴着两个球?球可以乱跑,但橡皮筋的长度是固定的。跑远了,就会被拽回来。

核心要点:协整描述的是变量之间长期稳定的均衡关系。短期可以偏离,但长期必须回归。

1.2 为什么跨品种套利需要协整?

这个问题,我当年刚入行时也困惑过。

我当时想:「既然两个品种走势相关,那做多一个、做空另一个,不就能赚钱了吗?」

结果呢?亏得我怀疑人生。

为什么会这样?

因为相关性 ≠ 可套利性

咱们来看一个具体的场景:

场景 相关性高 协整关系存在
两个品种同涨同跌 ✅ 是 不一定
价差会回归均值 不一定 ✅ 是
适合做配对套利 ❌ 不一定 ✅ 是

我给大家举个例子。假设A股票和B股票,过去一年相关性高达0.95。你兴冲冲地做了配对交易:做多A,做空B。

结果呢?A和B同时暴跌,但A跌了20%,B只跌了5%。你的多头亏了20%,空头只赚了5%,整体亏了15%。

这就是「相关性陷阱」——它们确实同涨同跌,但价差并没有回归的「义务」。

协整才是套利的数学基础。它保证了:

  • 价差是均值回归的
  • 偏离越大,回归的概率越高
  • 你可以用统计方法量化这个「回归力」

我的经验:我习惯在筛选套利对时,先用相关性做初筛(速度快),再用协整检验做终筛(精度高)。两者结合,效率最高。

1.3 协整与相关性的区别——别再搞混了

这个问题,我几乎每次讲课都会被问到。咱们今天一次性说清楚。

相关性衡量的是两个变量线性关联的强度。它只看「当前时刻」的关系。

协整衡量的是两个变量长期均衡关系的存在性。它看的是「时间序列的联合动态」。

我画个图帮你理解:

相关性 ✅ 衡量:线性关联强度 ✅ 范围:[-1, 1] ✅ 关注:当前时刻 ✅ 例子: A涨10%,B也涨10% 相关性 = 1 ⚠️ 陷阱: 两个随机游走序列 也可能有高相关性! 协整 ✅ 衡量:长期均衡关系 ✅ 结果:是/否(0或1) ✅ 关注:时间序列动态 ✅ 例子: A和B价差稳定在±2% 偏离后必然回归 ✅ 优势: 直接服务于套利策略 有统计理论支撑

这张图很直观。相关性只看「表面」,协整看「本质」。

我再给你一个经典的反例:

  • 一个醉汉和一条狗,在街上乱走。他们的路径可能高度相关(都往东走),但没有任何经济意义。
  • 一个醉汉牵着一条狗,狗跑远了会被绳子拽回来。这才是协整。

我当年在实盘里就吃过这个亏。有一次我发现螺纹钢和热卷的相关性高达0.92,兴冲冲地做了配对。结果价差越走越远,最后止损出局。

后来一查,原来这两个品种虽然同属黑色系,但下游需求结构不同,并没有协整关系。

避坑指南:我曾经以为高相关性就是套利的圣杯,结果被市场狠狠教育了一顿。记住:相关性高 ≠ 协整存在。一定要做协整检验,别偷懒。

1.4 协整的直观理解——用Python画个图

光说不练假把式。咱们用Python来模拟一下,什么是协整,什么不是。

import numpy as np
import matplotlib.pyplot as plt

# 设置随机种子
np.random.seed(42)

# 生成两个协整序列
# 共同趋势
trend = np.cumsum(np.random.randn(200))

# 序列A = 共同趋势 + 噪声
A = trend + np.random.randn(200) * 0.5

# 序列B = 共同趋势 * 0.8 + 噪声
B = trend * 0.8 + np.random.randn(200) * 0.5

# 价差 = A - 0.8 * B(理论上应该是平稳的)
spread = A - 0.8 * B

# 打印价差的均值和标准差
print(f"价差均值: {np.mean(spread):.3f}")
print(f"价差标准差: {np.std(spread):.3f}")
print(f"价差是平稳的吗?大概率是!")

这段代码模拟了两个协整的品种。你看,虽然A和B都在随机游走,但它们的价差是围绕0波动的,均值稳定。

这就是协整的精髓:两个非平稳的序列,组合之后变平稳了

1.5 协整检验的直觉

那怎么判断两个品种有没有协整关系呢?

最常用的方法是Engle-Granger两步法

  1. 第一步:用OLS回归,估计协整系数(比如上面例子中的0.8)
  2. 第二步:对残差(也就是价差)做单位根检验(ADF检验)

如果残差是平稳的,就说明存在协整关系。

我个人的习惯是:

  • 先用ADF检验看残差是否平稳
  • 再用Johansen检验确认协整向量的个数
  • 最后用BIC或AIC选择最优的滞后阶数

这些内容,咱们后面的章节会详细展开。今天先有个概念就行。

小技巧:在实际项目中,我建议你同时做多个检验。不同的检验方法各有优劣,交叉验证能提高可靠性。

1.6 本章小结

好了,咱们来捋一捋今天的内容:

  • 协整是什么:两个非平稳序列的线性组合是平稳的,它们之间存在长期均衡关系
  • 为什么套利需要协整:只有协整才能保证价差回归,这是套利的数学基础
  • 协整 vs 相关性:相关性看表面,协整看本质。高相关不一定能套利,协整才是硬道理

我做了这么多年量化,最大的体会就是:不要被表面的相关性迷惑,要深挖背后的协整关系。这是跨品种套利的基石,也是你从新手到老手的必经之路。

下一章,咱们会深入讲解协整检验的具体方法,包括ADF检验、Johansen检验,以及如何用Python实现。到时候,我会分享一些我在实盘中踩过的坑,以及怎么避开它们。

今天就到这里。记住:协整不是万能的,但没有协整是万万不能的。


专注资料整理