3、相关性分析:皮尔逊相关系数、协整检验(ADF检验)、滚动相关性窗口、伪回归陷阱
做跨品种套利,说白了就是找两个品种之间的「亲密关系」。关系越稳定,套利空间就越可控。但这里有个坑——你以为有关系,可能只是巧合。我见过太多新手看着两张走势图长得像,就冲进去做套利,结果亏得底裤都不剩。
嗯,这一节我们就来聊聊怎么科学地判断两个品种之间到底有没有「真感情」。
3.1 皮尔逊相关系数:最直观的「相似度」指标
皮尔逊相关系数,大家应该不陌生。它衡量的是两个变量之间的线性相关程度,取值在 -1 到 1 之间。1 表示完全正相关,-1 表示完全负相关,0 表示没关系。
公式长这样:
r = Σ((xᵢ - x̄)(yᵢ - ȳ)) / √(Σ(xᵢ - x̄)² · Σ(yᵢ - ȳ)²)
我个人习惯,拿到两个品种先算个相关系数。比如螺纹钢和热卷,相关系数经常在 0.9 以上。但注意,这只是第一步。
实际应用中,我一般这样判断:
- |r| > 0.8:强相关,值得进一步分析
- 0.5 < |r| < 0.8:中等相关,需要谨慎
- |r| < 0.5:弱相关,基本别想了
3.2 协整检验(ADF检验):找「长期关系」的核心工具
相关系数只能看短期同步性,但套利赚的是价差回归的钱。这就需要协整检验了。
协整的概念很简单:两个非平稳的时间序列,它们的线性组合是平稳的。说白了,就是两个乱跑的品种,它们之间的差距是有规律的。
ADF(Augmented Dickey-Fuller)检验是协整检验最常用的方法。步骤是这样的:
- 先对两个品种做线性回归,得到残差序列
- 对残差做 ADF 检验,看它是否平稳
- 如果 p 值小于 0.05,说明存在协整关系
代码实现也不复杂:
import statsmodels.api as sm
from statsmodels.tsa.stattools import adfuller
# 假设 x 和 y 是两个品种的价格序列
x = sm.add_constant(x)
model = sm.OLS(y, x).fit()
residuals = model.resid
# ADF检验
result = adfuller(residuals)
print(f'ADF统计量: {result[0]}')
print(f'p值: {result[1]}')
if result[1] < 0.05:
print('存在协整关系,可以搞!')
else:
print('没有协整关系,别冲动。')
3.3 滚动相关性窗口:关系是会变的
你想想看,两个品种的相关性会一直不变吗?当然不会。市场环境在变,政策在变,资金偏好也在变。
所以,我从来不看全样本的相关系数。我习惯用滚动窗口,比如 60 天或 90 天的窗口,每天算一次相关系数。这样就能看到相关性的变化趋势。
举个例子:
import pandas as pd
import numpy as np
def rolling_corr(x, y, window=60):
return x.rolling(window).corr(y)
# 假设 df 包含两个品种的日收益率
df['rolling_corr'] = rolling_corr(df['品种A'], df['品种B'], window=60)
当滚动相关系数突然从 0.9 掉到 0.3 时,就要警惕了。我之前做螺纹钢和铁矿石的套利,就遇到过这种情况——相关性突然崩塌,价差直接失控,幸好我提前减了仓。
3.4 伪回归陷阱:最容易被忽视的坑
伪回归,说白了就是两个毫无关系的随机游走序列,跑回归也能跑出显著的结果。为什么?因为非平稳序列本身就有趋势,两个趋势碰在一起,看起来就像有关系。
我记得有一次,一个朋友兴冲冲地跟我说他发现大豆和比特币有很强的相关性。我一看,两个序列都是向上走的,相关系数 0.85。但做协整检验,p 值 0.6,根本不显著。这就是典型的伪回归。
- 相关系数很高,但协整检验不通过
- 两个序列都是非平稳的(单位根过程)
- 回归的 R² 很高,但 DW 统计量很低
怎么避免?记住三点:
- 先做单位根检验:确认两个序列都是 I(1) 过程
- 再做协整检验:确认残差是平稳的
- 最后看经济逻辑:两个品种之间有没有实际的产业链关系
知识体系总览
下面这张图,是我自己梳理的相关性分析框架。每次做新策略前,我都会按这个流程走一遍:
总结一下我的经验:相关性分析不是一锤子买卖。先用皮尔逊相关系数快速筛选,再用协整检验确认长期关系,同时用滚动窗口监控关系的变化。最后,永远记住伪回归这个坑。
嗯,这套流程我用了好几年,虽然不能保证百分之百赚钱,但至少能帮你避开那些看起来很美、实际上要命的假关系。
- 皮尔逊相关系数看短期同步性,协整检验看长期均衡
- 滚动窗口能捕捉关系的变化,建议 60-90 天窗口
- 伪回归是最大的坑,协整检验是唯一的解药
- 经济逻辑永远比统计结果重要