一、协整理论入门:什么是协整?
大家好,我是老张。今天咱们聊聊协整——这个在量化交易里被说烂了、但很多人其实没真正搞懂的概念。
先问个问题:为什么我们做配对交易,不直接找两只相关性高的股票?
嗯,这里有个坑。我刚开始做量化那会儿,也以为相关性高就是好配对。结果呢?回测漂亮,实盘亏钱。后来才明白,相关性是表象,协整才是本质。
1.1 什么是协整?
协整,说白了就是两个或多个非平稳的时间序列,它们的某种线性组合是平稳的。
举个例子:
- 你牵着一条狗散步。你走的路径是随机的(非平稳),狗跑的路径也是随机的(非平稳)。
- 但狗绳的长度是固定的。所以你和狗之间的距离,始终围绕一个均值波动(平稳)。
这就是协整。两个随机游走的序列,被一根看不见的「绳子」绑在一起。
核心定义:如果两个时间序列 X_t 和 Y_t 都是 I(1)(一阶单整),且存在系数 β 使得 Z_t = Y_t - βX_t 是 I(0)(平稳),则称 X_t 和 Y_t 存在协整关系。
1.2 协整与相关性的区别
这个区别太重要了。我见过太多人把相关性当协整用,结果亏得底裤都不剩。
| 维度 | 相关性 | 协整 |
|---|---|---|
| 衡量什么 | 线性关系的方向和强度 | 长期均衡关系的存在性 |
| 对平稳性要求 | 序列需平稳(或至少趋势一致) | 序列可以非平稳,但组合需平稳 |
| 时间维度 | 短期同步性 | 长期均衡关系 |
| 典型陷阱 | 伪相关(如冰淇淋销量与溺水人数) | 伪回归(两个无关的随机游走) |
我举个例子你就明白了:
- 高相关但非协整:茅台和五粮液。短期走势高度相关,但长期价差可能发散(因为基本面变化)。
- 低相关但协整:某ETF和它的成分股。短期可能背离,但长期价差一定会回归。
避坑指南:我曾经用相关系数筛选配对,选出了「完美」的股票对——相关性0.95以上。结果实盘时价差越走越远,亏了20%才止损。后来一查,两只股票都是跟着大盘涨跌,根本没有内在均衡关系。这就是典型的「伪回归」。
1.3 平稳性概念
平稳性,是时间序列分析的基石。不搞懂它,后面全是白搭。
什么是平稳?
一个时间序列是平稳的,意味着它的统计性质不随时间变化。具体来说:
- 均值恒定:长期来看,序列围绕一个固定值波动
- 方差恒定:波动幅度不随时间变化
- 自协方差只与时间间隔有关:比如今天和明天的关系,跟昨天和今天的关系一样
为什么要平稳?
你想想看,如果序列的均值一直在变,你怎么预测?今天均值是10,明天变成100,后天变成1000——任何模型都会失效。
我习惯把平稳序列比作「有弹性的橡皮筋」:你拉它一下,它总会弹回原位。而非平稳序列就像「断了线的风筝」:飘到哪儿算哪儿,没有回头的意思。
个人经验:判断平稳性,我一般先用肉眼看图。如果序列有明显的趋势或季节性波动,基本可以判定非平稳。然后再用ADF检验确认。别一上来就跑统计检验,先看图,这是老司机的习惯。
1.4 单整阶数
单整阶数,就是「一个序列需要差分几次才能变成平稳序列」。
记作 I(d),其中 d 是差分次数。
- I(0):本身就是平稳的。比如白噪声、均值回归的价差序列。
- I(1):一阶差分后平稳。大多数股票价格都是 I(1)。
- I(2):二阶差分后平稳。比如某些商品价格或通胀率。
怎么判断单整阶数?
我一般用两步法:
- 单位根检验:对原始序列做ADF检验。如果p值大于0.05,说明有单位根,非平稳。
- 差分后检验:对一阶差分后的序列再做ADF检验。如果p值小于0.05,说明是I(1)。如果还不平稳,继续差分。
# 这是我常用的单整阶数判断代码
import numpy as np
import pandas as pd
from statsmodels.tsa.stattools import adfuller
def check_integration_order(series, max_diff=3):
"""
判断序列的单整阶数
"""
for d in range(max_diff + 1):
if d == 0:
test_series = series
else:
test_series = series.diff(d).dropna()
result = adfuller(test_series)
p_value = result[1]
print(f"差分次数 d={d}: p-value = {p_value:.4f}")
if p_value < 0.05:
print(f"→ 序列为 I({d})")
return d
print("→ 序列可能为 I(>3),需要进一步分析")
return None
# 使用示例
# check_integration_order(stock_price)
重要提醒:协整要求所有序列的单整阶数相同。如果一个是I(1),另一个是I(2),它们不可能协整。这是我在一次实盘配对中踩过的坑——两只股票,一只平稳,一只非平稳,结果价差永远不回均值。
1.5 知识体系总览
说了这么多,咱们用一张图把整个知识体系串起来:
这张图把咱们今天讲的内容串起来了。你看,协整理论的核心就是:两个非平稳的序列,通过线性组合,得到一个平稳的残差。这个残差就是我们做配对交易的「信号」。
我的习惯:每次拿到新的股票对,我第一件事不是算相关性,而是先看单整阶数。两只股票必须都是I(1),才有做协整检验的必要。这一步能过滤掉80%的无效配对。
好了,协整入门就讲到这里。记住三件事:协整看长期均衡、相关性看短期同步、单整阶数必须一致。搞懂这些,后面的配对筛选才有意义。
公众号:蓝海资料掘金营,微信deep3321