协整(Cointegration)是什么?配对交易的统计学根基
<strong>协整</strong>(Cointegration)是配对交易的统计学根基:两个非平稳序列如果存在线性组合是平稳的,则称协整。本文用<strong>金银价差、欧美磅价差</strong>实例讲清协整检验(ADF / Engle-Granger / Johansen),为什么相关性高 ≠ 协整,散户怎么用 Python 自检。
看懂一句话:相关性高的两个品种不一定能配对——必须协整,即"价差围着均值随机游走"。这就是为什么金银能配对、EUR/JPY 不能配对的统计学原因。
什么是协整
给定两个时间序列 X(t) 和 Y(t):
- 都是非平稳的(趋势 / 单位根)
- 存在某个 β 使得 Y - β·X 是平稳的(围着均值波动)
- 则称 X 和 Y 协整
相关性高 ≠ 协整
这是统计套利的核心陷阱:
| 情景 | 相关性 | 协整? | 能配对? |
|---|---|---|---|
| XAU vs XAG(金银) | +0.85 | ✅ 是 | ✅ 经典配对 |
| EURUSD vs GBPUSD | +0.78 | ✅ 是 | ✅ 经典配对 |
| SP500 vs US10Y | -0.55 | ❌ 否 | ❌ 不能 |
| 人均GDP vs 期望寿命(不同国家) | +0.92 | ❌ 否 | ❌ 伪相关 |
协整 = 长期均衡关系。相关性 = 短期同步运动。两者完全不同概念。
协整检验三种方法
方法 1:Engle-Granger 二阶检验
- OLS 回归 Y = α + β·X + ε,得残差 ε
- 对 ε 做 ADF 单位根检验
- ε 平稳 → X 和 Y 协整
优点:直观简单。缺点:β 估计有偏,多变量不适用。
方法 2:Johansen 检验
VAR 框架下检验协整向量个数。适用于 3 变量以上。机构常用。
方法 3:Phillips-Ouliaris 检验
对残差做 Z 检验。比 Engle-Granger 更稳健。Python statsmodels 包含此函数。
Python 实操
10 行代码出结果:
import pandas as pd
from statsmodels.tsa.stattools import coint
# 假设 df 含 XAU 和 XAG 收盘价
score, pvalue, _ = coint(df['XAU'], df['XAG'])
print(f'协整 t-stat = {score:.2f}, p-value = {pvalue:.4f}')
# pvalue < 0.05 → 协整
数据来源:汇合作品种页导出历史日 K 收盘价,6-12 个月窗口。
协整破裂怎么办
"协整破裂" = 长期均衡失效。常见原因:
- 结构性变化(如 2014 年瑞郎脱钩、2020 年原油负油价)
- 政策变化(央行政策分化)
- 市场流动性危机
应对:每周或每月重新做协整检验。机构通常设"协整失效预警"——p-value 长期 > 0.10 时停止该配对策略。
❓ 常见问题 FAQ
Q1:协整检验 p-value 多少算显著?
常用 0.05。p < 0.05 = 在 95% 置信度下拒绝"非协整"假设。激进者用 0.10,保守者用 0.01。
Q2:协整需要多少历史数据?
常见 130-260 个交易日(6-12 个月日 K)。数据太少:检验失效;太多:跟不上结构变化。
Q3:3 个或以上变量协整怎么办?
用 Johansen 检验(VAR 框架)。可同时检验多个协整向量。Python statsmodels 的 coint_johansen 函数。
Q4:协整破裂时配对交易必亏吗?
未必,但风险显著放大。所以协整套利严格设止损(通常 3σ),破裂时强制平仓——这是 Morgan Stanley 团队的内部规矩。
Q5:散户做配对交易要不要每次都协整检验?
建议每月做一次。市场无重大变化时维持原配对;重大事件后立即重检。汇合作库存费套利是不依赖协整的散户友好策略,对统计学要求更低。
⚠️ 风险提示:本文为学术性介绍,不构成投资建议。统计套利涉及模型风险与市场结构变化风险。
外汇术语/统计套利
如有投资决策请谨慎,本文仅供参考
