一、协整概念入门:什么是协整?为什么做配对交易需要协整?
大家好,欢迎来到《协整残差分析与交易阈值设计》的第一章。
今天咱们聊一个核心问题:协整到底是什么?
说实话,我刚开始接触量化交易那会儿,听到「协整」这个词,第一反应是——这又是哪个统计学大佬发明的玄学名词?后来真刀真枪做了一段时间配对交易,才发现这东西其实没那么神秘。
1.1 从经济学直觉说起
先讲个故事。
假设你观察两个股票:贵州茅台和五粮液。它们都是白酒龙头,基本面相似,受同样的宏观经济影响。按理说,它们的价格走势应该「步调一致」才对。
但现实是,短期内它们可能各走各的。茅台涨了3%,五粮液跌了1%。这时候你会怎么想?
嗯,直觉告诉你:这种背离不会一直持续下去。迟早有一天,它们会重新回到某种「均衡关系」上。
这个「均衡关系」,就是协整的核心思想。
协整的通俗定义:两个或多个非平稳时间序列,它们的某种线性组合是平稳的。
说白了,就是几个「疯疯癫癫」的变量,组合在一起反而「老实」了。
1.2 为什么做配对交易需要协整?
配对交易的逻辑很简单:
- 找到两个高度相关的资产
- 当它们的价差偏离正常范围时,做多一个、做空另一个
- 等它们回归均衡,平仓获利
但这里有个坑——相关性不等于协整。
我踩过这个坑。有一次,我发现两只银行股的相关性高达0.95,兴冲冲地做了配对策略。结果呢?价差越走越远,亏得我怀疑人生。
后来复盘才发现:这两只股票虽然走势相似,但并没有长期均衡关系。它们的价差是「随机游走」的,根本不会回归。
避坑指南:我曾经以为相关性高就能做配对交易,结果被市场狠狠教育了一顿。记住:协整是配对交易的灵魂,相关性只是表象。
1.3 数学定义:从直觉到严谨
好了,直觉讲完了,咱们来点硬核的。
数学定义:
设两个时间序列 \(X_t\) 和 \(Y_t\),如果满足以下条件:
- \(X_t\) 和 \(Y_t\) 都是 \(I(1)\) 过程(即一阶单整,非平稳但一阶差分后平稳)
- 存在一个非零常数 \(\beta\),使得 \(Z_t = Y_t - \beta X_t\) 是 \(I(0)\) 过程(平稳)
那么,我们就说 \(X_t\) 和 \(Y_t\) 是协整的,\(\beta\) 称为协整系数,\(Z_t\) 称为协整残差。
你想想看,这个定义其实很优雅:
- 单个序列是「疯的」(非平稳)
- 但它们的组合是「稳的」(平稳)
- 这意味着它们之间存在长期均衡关系
个人习惯:我一般把协整关系想象成「拴在一根绳子上的两只狗」。每只狗都乱跑(非平稳),但绳子长度固定(协整关系),所以它们不会跑太远。
1.4 协整 vs 相关性:一张表说清楚
| 特性 | 相关性 | 协整 |
|---|---|---|
| 衡量什么 | 线性关系的强度 | 长期均衡关系 |
| 要求序列平稳 | 否 | 是(残差平稳) |
| 是否意味着回归 | 否 | 是 |
| 配对交易适用性 | 低(容易假相关) | 高(有均值回归特性) |
| 数学基础 | 皮尔逊系数 | 单位根检验、EG两步法 |
你看,相关性高的两只股票,价差可能越走越远。但协整的股票对,价差一定会回归。这就是为什么做配对交易,必须先过协整检验这一关。
1.5 核心知识体系:一张图看懂
下面我用一张SVG图,把本章的核心逻辑串起来:
1.6 一个简单的Python示例
光说不练假把式。咱们用Python模拟一下协整关系:
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import adfuller
# 设置随机种子
np.random.seed(42)
# 生成一个随机游走(非平稳)
n = 500
X = np.cumsum(np.random.randn(n))
# 生成Y,与X协整:Y = 2*X + 平稳噪声
beta = 2.0
epsilon = np.random.randn(n) * 0.5 # 平稳残差
Y = beta * X + epsilon
# 检验残差的平稳性
residual = Y - beta * X
adf_stat, p_value, _, _, critical_values, _ = adfuller(residual)
print(f"ADF统计量: {adf_stat:.4f}")
print(f"p值: {p_value:.4f}")
print(f"临界值: {critical_values}")
if p_value < 0.05:
print("✅ 残差平稳,X和Y存在协整关系")
else:
print("❌ 残差非平稳,X和Y不存在协整关系")
运行这段代码,你会发现p值远小于0.05。这说明什么?说明我们构造的X和Y确实是协整的。
我建议:初学者可以先跑通这个例子,感受一下「非平稳序列组合后变平稳」到底是怎么回事。代码不复杂,但背后的思想很重要。
1.7 本章小结
好了,咱们来捋一捋今天的内容:
- 协整是什么?——几个非平稳序列的线性组合是平稳的,它们之间存在长期均衡关系。
- 为什么做配对交易需要协整?——因为只有协整才能保证价差会回归,这是策略盈利的基础。
- 数学上怎么定义?——I(1)序列 + 残差平稳 = 协整。
- 和相关性有什么区别?——相关性看走势相似度,协整看长期均衡。相关性高不一定协整,但协整一定意味着某种相关性。
我个人觉得,协整是量化交易里最被低估的概念之一。很多人一上来就搞机器学习、神经网络,结果连最基本的「两个序列有没有长期关系」都没搞清楚。嗯,打好基础比什么都重要。