第二章 配对交易理论基础:均值回归理论、协整性概念、平稳性与单位根检验、相关性 vs 协整性

做配对交易,说白了就是赌两兄弟会「和好」。

什么意思呢?你找两只股票,它们历史上一直走得很近。突然有一天,一个往东跑,一个往西跑。这时候你进场,做空那个跑太快的,做多那个掉队的。等它们重新走到一起,你就平仓赚钱。

听起来简单吧?但这里有个核心问题:你怎么知道它们一定会「和好」?

嗯,这就是我们今天要聊的理论基础。我做了这么多年量化,见过太多人死在这一步——看着两只股票走势图差不多就冲进去,结果亏得底裤都不剩。

2.1 均值回归理论

先说说均值回归。这个概念其实很朴素:价格偏离均值太远了,迟早会回来。

我举个例子。你想想看,一根橡皮筋,你拉得越长,它弹回来的力道就越大。价格也是一样。涨得太离谱了,总有回调的一天;跌得太狠了,也总有反弹的时候。

但这里有个坑——「迟早」是多久?

我曾经做过一个统计,有些配对偏离均值后,要等半年才回归。你想想看,半年时间,资金成本、机会成本,一般人扛得住吗?

所以均值回归理论告诉我们两件事:

  • 回归是大概率事件——长期来看,价格确实会向均值靠拢
  • 回归时间不确定——这才是真正的风险所在

核心要点:均值回归不是预测「什么时候回归」,而是相信「最终会回归」。这个信念,需要统计证据来支撑。

2.2 协整性概念

好,现在问题来了:怎么用数学来刻画「两兄弟会和好」这件事?

答案就是协整性。

我个人习惯把协整性理解为「长期均衡关系」。两只股票的价格可能各自乱跑,但它们之间的差距(或者某个线性组合)是稳定的。

举个例子:

  • 股票A的价格:100, 102, 98, 105, 101...
  • 股票B的价格:50, 51, 49, 52.5, 50.5...

你看,A和B的价格比例始终在2:1左右晃悠。这就是协整关系。

我的经验:选配对时,我一般先看行业。同行业的股票,业务模式相似,受同样的宏观因素影响,更容易有协整关系。跨行业的配对,除非你有特别强的逻辑,否则我建议慎重。

2.3 平稳性与单位根检验

说到协整,就绕不开平稳性。

什么是平稳性?简单说就是:统计性质不随时间变化。均值是常数,方差是常数,自相关结构也是稳定的。

你想想看,如果一只股票的均值一直在变,你怎么做均值回归?没法做。

所以我们需要检验平稳性。最常用的方法就是单位根检验。

这里我贴一段代码,是我项目中常用的ADF检验:

import statsmodels.api as sm
import numpy as np

def adf_test(series, name=''):
    """
    单位根检验函数
    返回:是否平稳、p值、检验统计量
    """
    result = sm.tsa.stattools.adfuller(series, autolag='AIC')
    p_value = result[1]
    is_stationary = p_value < 0.05
    
    print(f'{name} ADF检验结果:')
    print(f'  检验统计量: {result[0]:.4f}')
    print(f'  p值: {p_value:.4f}')
    print(f'  是否平稳: {is_stationary}')
    
    return is_stationary, p_value, result[0]

# 使用示例
# 假设price_spread是价差序列
# adf_test(price_spread, '价差序列')

避坑指南:我曾经犯过一个错误——直接用价格序列做ADF检验,发现是平稳的,高兴得不行。后来才发现,那是因为数据量太小(只有30个样本)。ADF检验对样本量很敏感,我建议至少用200个以上的数据点。

2.4 相关性 vs 协整性

这是新手最容易搞混的地方。

相关性高,不代表有协整关系。反过来,协整关系存在,相关性可能并不高。

我画个图你就明白了:

相关性 vs 协整性 高相关,但非协整 两者都在上涨,但差距越来越大 协整关系 价差在均值附近波动

左图:两只股票高度相关(走势几乎一样),但价差在不断扩大。这种配对做不了,因为价差不会回归。

右图:两只股票走势不完全一致,但价差始终在均值附近波动。这才是我们要的协整关系。

我整理了一个对比表,方便你理解:

维度 相关性 协整性
定义 两个变量之间的线性关系强度 两个或多个非平稳序列的线性组合是平稳的
关注点 短期同步性 长期均衡关系
数学要求 相关系数在[-1,1]之间 残差序列是平稳的(单位根检验通过)
对配对交易的意义 参考价值有限 核心条件,必须满足
常见误区 认为高相关=好配对 认为协整=高相关

一句话总结:相关性看的是「一起动」,协整性看的是「分得开但回得来」。做配对交易,我们要的是后者。

2.5 我的实战流程

说了这么多理论,最后分享一下我实际做配对交易时的流程:

  1. 行业筛选——先圈定同行业、市值相近的股票池
  2. 相关性初筛——计算相关系数,保留相关性在0.7以上的对子
  3. 协整检验——对初筛后的对子做Engle-Granger两步法或Johansen检验
  4. 残差分析——确认残差序列是平稳的,且均值接近0
  5. 回测验证——用历史数据跑一遍,看策略表现

一个小技巧:我习惯在协整检验前,先做一下归一化处理。把两只股票的价格都除以它们的历史均值,这样能消除量纲影响,让检验结果更稳定。

嗯,以上就是配对交易的理论基础。这些概念看起来有点抽象,但做多了你就会发现,它们其实是在帮你回答一个核心问题:这个配对,到底能不能「和好」?


专注资料整理