第四章:配对交易实战——如何挑选配对标的、价差计算、Z-score阈值设定

配对交易,说白了就是找两个“长得像”的股票,赌它们价差会回归。听起来简单,但实操中坑不少。我做了这么多年,踩过的雷能绕交易所三圈。今天咱们就聊聊,怎么挑配对、算价差、设阈值。

4.1 挑选配对标的:别只看相关性

很多人一上来就算相关系数,觉得0.9以上就是好配对。嗯,这里要注意——相关性高不代表能套利。我见过太多相关系数0.95的配对,一开仓就亏到怀疑人生。

为什么?因为相关性衡量的是线性关系,但配对交易需要的是协整关系。两个股票可能短期走势相似,但长期价差越跑越远,这种配对就是坑。

核心原则:配对标的必须满足协整性检验。简单说,就是它们的价差是平稳的,会围绕均值来回摆动。

我个人习惯,先按行业筛选。同行业的股票,业务模式、风险因子都接近,价差更容易回归。比如银行股里挑招行和兴业,能源股里选中石油和中石化。

然后做两步筛选:

  1. 相关性检验:算过去60天或120天的相关系数,要求>0.8。这只是初筛,别太较真。
  2. 协整检验:用Engle-Granger两步法或Johansen检验。p值<0.05才算通过。

避坑指南:我曾经用纯相关性选了对“完美配对”,回测曲线漂亮得不行。结果实盘第一天,价差就突破了历史极值,亏了5%。后来才发现,那俩股票虽然走势像,但基本面完全不同——一个重资产,一个轻资产。所以,一定要看基本面逻辑

4.2 价差计算:标准化才是关键

选好配对后,怎么算价差?直接拿A价格减B价格?别闹。股价绝对值不同,价差根本没意义。

正确的做法是算标准化价差。我常用两种方法:

方法一:回归残差法

用A的价格对B的价格做线性回归:

import statsmodels.api as sm

# 假设price_A, price_B是pandas Series
X = sm.add_constant(price_B)
model = sm.OLS(price_A, X).fit()
residuals = model.resid  # 这就是价差

残差就是价差。它已经剔除了B对A的线性影响,更干净。

方法二:对数价格差

直接算ln(A) - ln(B)。好处是消除了量纲,而且对数收益率天然适合做统计建模。

import numpy as np

spread = np.log(price_A) - np.log(price_B)

我个人偏好回归残差法。为什么?因为它在统计上更严谨,能捕捉到两个股票之间的真实关系。不过对数价格差计算简单,做快速回测时我也用。

注意:无论用哪种方法,价差序列必须做平稳性检验(ADF检验)。如果价差不平稳,说明配对不成立,赶紧换标的。

4.3 Z-score阈值设定:别迷信±2

价差算出来了,怎么设开仓平仓阈值?很多人直接套用Z-score ±2,觉得这是标准答案。其实不然。

Z-score = (当前价差 - 价差均值) / 价差标准差。它告诉你当前价差偏离均值多少个标准差。

理论上,Z-score超过±2的概率只有5%左右,适合做开仓信号。但实盘中,我遇到过Z-score跑到±3还不回归的情况。为什么?因为价差分布不是标准正态——它有厚尾。

我的经验:先看历史回测,找到最优阈值。一般步骤:

  1. 计算历史价差的Z-score序列
  2. 遍历不同的阈值(比如1.5到3.0,步长0.1)
  3. 对每个阈值做回测,算夏普比率、最大回撤
  4. 选夏普比率最高的那个阈值

举个例子,我做过一个银行股配对:

阈值 年化收益率 夏普比率 最大回撤
1.5 8.2% 0.9 -12%
2.0 12.5% 1.5 -8%
2.5 9.8% 1.1 -10%

你看,±2.0反而是最优的。但换一组股票,最优阈值可能变成1.8或2.2。所以,别偷懒,一定要做参数优化

避坑指南:我曾经用固定阈值±2跑了一个能源股配对,结果连续触发5次止损。后来一查,那段时间原油价格暴跌,两个股票的基本面逻辑变了。所以,阈值要动态调整——比如每20个交易日重新计算均值和标准差。

4.4 完整流程:从挑选到实盘

来,咱们把整个流程串起来。我画了张图,你看一眼就明白:

配对交易完整流程 1. 挑选配对标的 同行业 + 协整检验 2. 计算价差 回归残差 / 对数价差 3. 设定Z-score阈值 回测优化 + 动态调整 4. 实盘监控 止损 + 动态调参 5. 平仓与风控 价差回归 / 止损离场 6. 循环迭代 重新检验协整关系 关键提醒 • 每20个交易日重新计算均值和标准差 • 设置硬止损(比如价差突破3倍标准差)

你看,整个流程是个闭环。从挑选标的开始,到实盘监控,再到循环迭代。我见过很多人只做前两步,然后就躺平了。结果市场一变,配对失效,亏得底朝天。

最后说一句:配对交易不是印钞机。它赚的是统计套利的钱,胜率可能高,但单笔盈利有限。所以,仓位管理比阈值更重要。我一般单笔不超过总资金的2%,止损设在1.5倍ATR。

总结一下:

  • 挑选标的:协整检验 > 相关性检验,基本面逻辑不能少
  • 价差计算:回归残差法更严谨,对数价差更简单
  • 阈值设定:别迷信±2,回测优化 + 动态调整才是王道
  • 风控:硬止损 + 仓位管理,缺一不可

好了,这一章就到这儿。记住,实战中多复盘、多调整,别指望一套参数吃遍天。咱们下一章见。

专注资料整理