2008 字
10 分钟

统计套利与配对交易:协整、价差与均值回归

本课目标:理解配对交易的统计基础,学会用协整检验筛选交易对、构建价差与 zscore 开平仓规则,并认清这类策略最致命的风险——关系破裂。

配对交易的直觉:赚”关系”的钱,不赚”方向”的钱#

前面课程里的多因子选股,本质是对一篮子股票的相对强弱下注,但组合整体仍然暴露在市场方向上。配对交易换了一个思路:找两个走势长期绑定的资产,当它们的价差偏离历史常态时,做多被低估的一边、做空被高估的一边,等价差回归时平仓。

它的收益来源不是判断市场涨跌,而是判断”这两个资产的相对关系会回到常态”。理想情况下,市场暴涨暴跌都与你无关——多头腿和空头腿的方向性风险相互抵消,剩下的只有价差的均值回归。这也是”市场中性”一词最朴素的来源。

典型的配对候选:同行业的两只龙头股、一只股票与它所属的行业 ETF、指数期货与对应的 ETF、可转债与正股。共同点是它们背后有真实的经济纽带,而不只是历史价格碰巧走得像。

相关不等于协整:这是本课最重要的区分#

很多人筛选交易对的第一反应是算收益率相关系数。这不够,甚至会误导。

  • 相关性描述的是两个序列的收益率是否同涨同跌,是”短期步调”的度量。两只股票可以高度相关,但价格水平渐行渐远——比如一只年化涨得多、一只涨得少,价差单边发散,永远不回归。
  • 协整描述的是两个非平稳的价格序列之间,是否存在某个线性组合是平稳的。如果 \(P_A - \beta P_B\) 是平稳序列,它就会围绕均值波动,偏离之后有统计意义上的回归倾向。这才是配对交易需要的性质。

一句话总结:相关性管的是”今天是否一起动”,协整管的是”走远了会不会回来”。配对交易赚的是后者的钱。

实务流程通常是:先用行业、业务逻辑缩小候选池(经济纽带优先),再对候选对做协整检验(如 Engle-Granger 两步法:回归取残差,再对残差做平稳性检验),最后只保留统计与逻辑双重过关的对。只靠遍历全市场暴力搜索协整对,会捞出大量伪关系——检验做几千次,总有一些纯靠运气显著。

价差构建与 zscore 交易规则#

确定交易对后,用滚动回归估计对冲比率 β,构建价差,再标准化成 zscore:

import pandas as pd
import numpy as np
def make_spread(pa: pd.Series, pb: pd.Series, window: int = 60):
"""滚动估计对冲比率, 构建价差与 zscore"""
la, lb = np.log(pa), np.log(pb)
beta = la.rolling(window).cov(lb) / lb.rolling(window).var()
spread = la - beta * lb
z = (spread - spread.rolling(window).mean()) / spread.rolling(window).std()
return spread, z
spread, z = make_spread(price_a, price_b, window=60)
long_entry = z < -2.0 # 价差过低: 做多A、做空B
short_entry = z > 2.0 # 价差过高: 做空A、做多B
exit_rule = z.abs() < 0.5
stop_rule = z.abs() > 3.5 # 止损: 偏离过大, 怀疑关系破裂

一套典型规则的参数含义:

参数常见做法背后的权衡
开仓阈值zscore 达到 ±2阈值高则交易少但胜率高,阈值低则频繁交易被成本侵蚀
平仓阈值回到 ±0.5 或 0提前平仓锁定利润 vs 等完全回归吃满价差
止损阈值±3 到 ±4承认”这次不一样”,避免在破裂的关系上加倍下注
最长持仓时间若干周均值回归迟迟不来,本身就是关系变化的信号

注意对冲比率要用滚动窗口估计并定期更新,用全样本估计的 β 是典型的前视偏差。

除了阈值,还有一个常被忽略的量:价差的回归半衰期,即偏离回到一半所需的平均时间。可以对价差做自回归估计得到。半衰期太长(几个月以上)意味着资金占用久、期间不确定性大;半衰期太短(一两天)则信号可能撑不过交易成本。半衰期还决定了滚动窗口和最长持仓时间的合理量级——用 20 天窗口去交易半衰期 60 天的价差,规则和统计性质是脱节的。

成本核算同样关键:配对交易每轮开平涉及两条腿共四次交易,双边成本乘以四之后,很多回测里的”套利机会”会直接消失。检验规则时应把成本直接扣进每笔交易,而不是事后打折。

最大的风险:协整关系破裂#

统计套利的盈亏形态是”平时赚小钱,破裂亏大钱”。价差偏离越远,模型越觉得机会大,仓位越想加——但如果偏离的原因是基本面变了(一家公司被并购、行业格局重构、其中一只暴雷),价差将永不回归,均值回归策略会一路加仓一路亏。

防线有三层:一是止损与最长持仓时间,用规则强制承认失败;二是分散,同时交易多个交易对,单对破裂的伤害有限;三是持续监控协整关系本身,滚动窗口内检验统计量持续恶化时主动下线该交易对。永远记住:历史平稳不是未来平稳的保证。

A 股做空约束下的变通#

A 股融券券源有限、成本不低,教科书式的”做空单只股票”经常落不了地。实务上常见的变通思路:

  • 可转债 vs 正股:转债隐含正股多头敞口,与正股之间存在天然的价格纽带,可以构造相对价值交易。
  • ETF 或股指期货作为空头腿:做多一篮子看好的股票,用股指期货或可融券的宽基 ETF 对冲市场敞口,把”个股对个股”退化为”个股对指数”。
  • 同一资产的不同载体:股指期货与对应 ETF、跨市场上市品种之间的价差,做空一侧通常在期货端实现,可行性高得多。

这些变通各有基差、折溢价、转股条款等新维度,这里点到为止,核心信息是:在 A 股做统计套利,工具选择本身就是策略设计的一部分。本文仅为方法讨论,不构成投资建议。

本课小结#

  • 配对交易赚的是”相对关系回归常态”的钱,方向性风险靠多空两腿对冲。
  • 相关性不能替代协整:前者是短期步调,后者才保证价差平稳、偏离可回归。
  • 交易规则围绕 zscore 设计开仓、平仓、止损、最长持仓四个要素,成本与频率是核心权衡。
  • 协整关系破裂是最大风险,需要止损、分散和对关系本身的持续监控三层防线。
  • A 股做空受限,可用可转债、ETF、股指期货等工具构造多空结构。

动手练习:选取同一行业两只业务相近的 A 股(或一只个股与其行业 ETF),取三年日线数据:(1) 计算收益率相关系数;(2) 用 60 日滚动窗口构建价差与 zscore,画出 zscore 序列;(3) 按 ±2 开仓、±0.5 平仓的规则统计信号次数与每次偏离的回归天数;(4) 观察是否存在 zscore 长期不回归的时段,思考那段时间两家公司发生了什么。