跳到主内容
@wquguru
术语时间序列

协整 Cointegration

2026-09-05 更新

定义#

协整指两个各自漂移的序列,某个线性组合却是平稳的。两条价格曲线各自都可以一路向上、看不出回归到哪里去,但如果把它们按某个比例相减,得到的价差在一条水平线上下来回摆动,这两条序列就是协整的。

协整和相关性是两码事,这是课程反复强调的一点。相关性描述的是短期同涨同跌的程度,协整描述的是长期有没有一条绑住两者的绳子。两只股票可以天天同向波动(高相关)却一个越走越远(不协整);也可以日度相关不高,但价差始终被拉回(协整)。做统计套利要的是后者。

公式#

协整的定义写成:

XtI(1),  YtI(1),  β  使得  YtβXtI(0)X_t \sim I(1),\; Y_t \sim I(1),\; \exists\, \beta \;\text{使得}\; Y_t - \beta X_t \sim I(0)

即两条序列各自是一阶单整的(差分一次才平稳),但存在一个系数 β\beta 让它们的组合直接就平稳。

Engle-Granger 两步法先跑一个 OLS 回归拿到 β\beta

Yt=α+βXt+ϵtY_t = \alpha + \beta X_t + \epsilon_t

其中 α\alpha 是常数项,β\beta 是协整系数(也就是对冲比率),ϵt\epsilon_t 是残差。第二步对残差 ϵt\epsilon_t 做 ADF 检验:残差平稳,就认为协整成立。

算一笔账#

假设 X 和 Y 是两个 ETF,三天的收盘价是:X = 100、104、110,Y = 202、210、222。两条都在往上走,各自都不平稳。

先看比例:202/100=2.02202/100 = 2.02210/1042.019210/104 \approx 2.019222/1102.018222/110 \approx 2.018,大致都是 2。取 β=2\beta = 2 构造价差 Yt2XtY_t - 2X_t202200=2202 - 200 = 2210208=2210 - 208 = 2222220=2222 - 220 = 2。价差稳定在 2 附近,没有跟着价格一起涨——这就是协整的样子。

真实数据会有噪声。若第四天 X = 108、Y = 222,价差变成 222216=6222 - 216 = 6。价差的历史均值是 2,假设标准差是 1.5,那么 Z-score =(62)/1.52.67= (6-2)/1.5 \approx 2.67,超过常用的 2 倍阈值,按均值回归的逻辑就是做空 Y、做多 2 份 X,等价差回到 2 附近平仓。

常见问题#

相关系数高的两只股票,能直接拿来做价差交易吗?#

不能。高相关只说明它们短期一起动,不保证价差会回来。课程里的经典反例是两条各自向上漂移的序列,日收益高度相关,但价差越拉越大,做均值回归会一直亏。必须跑协整检验,看残差是不是平稳。

协整检验的 p 值小于 0.05,就可以上策略了吗?#

不够。第一,你很可能筛了上百对组合才找到这一对,需要做多重检验修正,否则纯靠运气也能挑出「显著」的对子。第二,协整 p 值只说明历史上存在均衡关系,推不出扣掉双边成本、点差、冲击和借券费之后还能赚钱。

对冲比率 β 要固定还是每天重估?#

关系会漂移,所以固定比率通常撑不久。常见做法是滚动窗口重估,或者用卡尔曼滤波做动态估计。注意两点纪律:β\beta 只能用当时已知的数据估,且信号要延后一期执行,否则回测里会混进未来信息。

相关术语

出自