打开 ICBC-A(601398.SS)和 ICBC-H(1398.HK)的最近一年日线。两条对数价格曲线长时间一起走——同一家公司、同一份基本面、同一组业务驱动——但你会反复看到几天到几周窗口的 5-15% 偏离,沪市端常年保持 8-12% 的"A 股溢价"。当沪港通的某一日北上资金把 A 股推到溢价 +2σ,做空 A 端、做多 H 端,然后等价差在几周内回到 0.5σ 内平仓——这就是统计套利的教科书形态。本课从这个配对的具体形态开始,把家族讲清楚:200-2000 个这样的关系并行运行,统计套利就从玩具变成了一台机器,这台机器在 CN 与 US 共同支撑了 500 亿美元规模的产业。
Stat-arb 是什么:与 L1 L/S 股票在四个轴上的区别
(1) `horizon` —— 分钟至 5 天 vs 日度至月度
(2) `position count` —— 数千只股票 vs 几百只
(3) `alpha source` —— 特异性微观结构均值回归 vs 因子风险溢价
(4) `turnover` —— 100-500% / 日 vs 5-30% / 日
请把这四条记牢:Stat-arb 在每一个轴上都比 L/S 股票更苛刻。它需要毫秒级数据基础设施、亚秒级执行、把成本当作一等公民的成本模型(而非每日一次再平衡的事后扣除)。它还需要 明显更大 的可交易 universe,因为每只股票的阿尔法很小(任意配对上的均值回归溢价约 5-15 个基点),只能靠并行运行很多对来 scale。
三个权威子类
(1) `classical pairs trading` —— 2 只协整名;|z| > 2σ 入场;|z| < 0.5σ 平仓;容量 RMB 3-20亿
(2) `PCA / basket stat-arb` —— 名股 vs N 只 basket 的 PC 残差;做多负 z,做空正 z;容量 RMB 5-15亿
(3) `order-book / microstructure stat-arb` —— 亚秒级信号:OFI / 队列位置 / 隐藏流动性;容量 RMB 1-3亿(latency 套利受限)
经典配对交易
挑一对协整名(教科书:KO/PEP、JPM/BAC、Royal Dutch Shell / Royal Dutch Petroleum 2005 合并前、沪港通的 A/H 双重上市配对)。跑下文(C 块)的协整检验流水线。交易价差的 z-score:|z| > 2σ 入场,|z| < 0.5σ 平仓,|z| > 4σ 硬止损(协整断裂)。头寸用反向波动率 + 对冲比例计算。单对夏普 ~0.5-1.0;并行 200-500 对(低成对相关性)可把账户夏普提升到 1.5-3.0。容量:RMB 3-20亿 / 本(由每只股票日均成交 × 最大参与率 × 活跃对数推出)。
PCA / Basket stat-arb
把 2 只配对推广到 N 只 basket。对每个 peer 组(例如 CN 中证 500 银行子组:招商银行、民生银行、兴业银行、浦发银行、平安银行、中信银行、光大银行、华夏银行),对日对数收益协方差矩阵跑 PCA;第一主成分是行业因子;任一名股扣除其在 PC1(可能还有 PC2-3 表示流动性、动量)上的载荷之后的残差,就是 stat-arb 残差。交易每个残差的 z 分数:做多负 z(相对行业便宜),做空正 z(相对行业贵)。这是 Avellaneda-Lee 2010 的形式化框架。夏普 ~1.5-3.0,容量 RMB 5-15亿 / 本。相对经典配对的优势:更分散、更大容量、不依赖手挑配对。
订单簿 / 微观结构 stat-arb
亚秒级的同门兄弟。信号从实时订单簿计算:订单流不平衡(OFI,signed-volume 在近期 tick 的累计)、队列位置(top-of-book 处于排队中的 FIFO 位置)、隐藏流动性推断(冰山单背后的概率)、跨市场价差套利、成交后动量(signed-tick 不平衡预测未来 1-30 秒价格走向)。信号窗口:秒至分钟。容量很小——RMB 1-3亿 / 本——因为阿尔法在 延迟 上,一旦太多资本追同一秒级信号,信号就被吞噬。夏普历史极高(Renaissance Medallion 1990-2000 年代毛夏普 4-6),但有容量天花板。基金家族锚:Renaissance Medallion(1993 年起对外封闭),Two Sigma Spectrum、D.E. Shaw、Citadel Global Equities,以及在上海运行做市 + stat-arb 混合账户的市场做市商 Optiver Shanghai、IMC、Tower-CN、HRT-Shanghai、Citadel Securities Shanghai、Jane Street Shanghai。
协整检验流水线:本课的技术内核
(1) stationarity test on individual series —— ADF/KPSS 对 log(P_A) 与 log(P_B);任一已平稳则拒绝该对
(2) cointegration coefficient via Engle-Granger two-step OLS —— log(P_A) = α + β · log(P_B) + ε;β 是对冲比
(3) residual stationarity test —— 对 ε 跑 ADF(用 Engle-Granger 临界值);5% 水平不平稳则拒绝
(4) half-life of mean-reversion —— AR(1) on ε;`half_life = -ln(2) / ln(ρ)`;>30 日或 <0.5 日则拒绝
(5) monthly re-test —— 生产纪律:每月重跑流水线;协整断裂触发立即平仓
# cointegration testing pipeline for pair selection
import numpy as np
from statsmodels.tsa.stattools import adfuller
class CointegrationPipeline:
def __init__(self, significance=0.05, half_life_min=0.5, half_life_max=30.0):
self.significance = significance
self.half_life_min = half_life_min
self.half_life_max = half_life_max
def test_individual_stationarity(self, log_prices_a, log_prices_b):
# 任一序列已是平稳的就拒绝该对(协整无意义)
p_a = adfuller(log_prices_a, autolag="AIC")[1]
p_b = adfuller(log_prices_b, autolag="AIC")[1]
return (p_a > self.significance) and (p_b > self.significance)
def estimate_cointegration(self, log_prices_a, log_prices_b):
# Engle-Granger 两步 OLS:log(P_A) = α + β · log(P_B) + ε
X = np.column_stack([np.ones_like(log_prices_b), log_prices_b])
beta_hat, *_ = np.linalg.lstsq(X, log_prices_a, rcond=None)
alpha, beta = beta_hat
residuals = log_prices_a - (alpha + beta * log_prices_b)
return alpha, beta, residuals
def test_residual_stationarity(self, residuals):
# 用 Engle-Granger 协整临界值(此处用 statsmodels 提供的近似)
return adfuller(residuals, autolag="AIC")[1] < self.significance
def estimate_half_life(self, residuals):
# AR(1) 回归 ε_t = ρ · ε_{t-1} + u_t;half_life = -ln(2) / ln(ρ)
delta = np.diff(residuals)
lagged = residuals[:-1]
rho_minus_1, *_ = np.linalg.lstsq(lagged[:, None], delta, rcond=None)
rho = 1.0 + rho_minus_1[0]
half_life_days = -np.log(2) / np.log(rho)
return half_life_days
def accept_pair(self, half_life_days):
# 半衰期在 [0.5, 30] 交易日内才接受该对
return self.half_life_min <= half_life_days <= self.half_life_max
为什么半衰期下限 0.5、上限 30:超过 30 天表示协整太慢,资本被卡死;不到 0.5 天表示微观结构噪声而非真实均值回归信号,大概率被交易成本吃掉。生产纪律:每月重跑全部活跃对;协整断裂事件(M&A、宏观体制切换、配股 / 拆分等公司行为)触发立即平仓,而非渐进减仓。
五个目录问题应用于 stat-arb
(1) `alpha source` —— 特异性微观结构均值回归:流动性需求不平衡 + 新闻慢传 + 受约束资金被迫再平衡
(2) `implementation` —— 200-2000 协整对并行 + 月度复测 + 1 日 stop-loss + 自动去杠杆
(3) `capacity` —— RMB 3-20亿 经典/篮子;RMB 1-3亿 订单簿;US $500m-3bn 经典/篮子;$100-500m 订单簿
(4) `typical Sharpe net of costs` —— 经典/篮子 1.5-3.0;订单簿 Medallion 风格历史 4-6 毛(小规模)
(5) `canonical kill scenario` —— 毛杠杆引发的去杠杆级联:Aug 7-9 2007;Feb 2024 微盘股
Aug 2007 量化危机:stat-arb 专属诊断
引用 Khandani & Lo 2007 NBER 论文:Aug 7-9 2007,stat-arb 账户是最先去杠杆的,在 L/S 股票之前。机制:stat-arb 账户的换手率非常高、毛杠杆 5-15x(每只股票阿尔法很小,只能靠杠杆放大);当一只大型基金触发最大回撤闸门,它在数小时内 立即 部分去杠杆;这冲击协整价差;余下持有人 VaR / 回撤闸门触发;级联在 3 天内完成。全行业 6-15% 损失,部分 stat-arb 账户 3 天内 -20%。
教训:(i) 毛杠杆是约束变量——每多 1x 杠杆把去杠杆级联尾风险翻倍;(ii) 主券商借券利用率数据是先行指标(协整对借券利用率全行业飙升时,共识已经过度拥挤);(iii) kill switch 必须比级联跑得快——3 日 stop-loss 太慢,1 日 stop-loss + 自动去杠杆是多管理人平台的现代标准。
CN 端的同源事件是 Feb 2024 微盘股崩盘:DMA + 雪球 + 算法去杠杆在 3 天内级联,中证 1000 / 中证 2000 -25%。
区域比较:CN A/H Stock Connect vs US 经典配对
CN 工作配对锚 —— 沪港通的 A/H 双重上市配对是 CN 教科书:
- ICBC-A (601398.SS) / ICBC-H (1398.HK) —— A 端常年 8-12% 溢价,季度财报周期上的周度 z-score 路径回归;
- 中国平安 A (601318.SS) / H (2318.HK) —— 保险对,~10% 溢价;
- 招商银行 A (600036.SS) / H (3968.HK) —— 银行对,~5% 溢价;
- 海螺水泥 A (600585.SS) / H (914.HK) —— 水泥 / 周期对;
- A 股内部部门对:中信证券 / 海通证券(券商对,监管新闻驱动)、招商银行 / 民生银行(股份行对,信贷周期共动)、茅台 / 五粮液(高端消费对,市场份额竞争)。
沪港通日额度(北上 520 亿 CNY,南下 420 亿 HKD)是 A/H 套利在规模上的 容量约束——超日额度的机构资金会被排队或拒绝。
CN 微观结构约束 —— T+1 现金股票结算意味着 t 开盘买的股票要 t+1 才能卖,这 排除 了 A 股同日均值回归策略(策略必须隔夜持有)。ETF 510300 走 T+0,所以经过 510300 与香港 ETF 2823.HK 的 A/H 配对可日内套利。10% 日涨跌幅(ST 5%、创业板 / 科创板 20%、北交所 30%)限制了任一日单股 z-score 路径;股票触及涨停 / 跌停时协整关系被截断。印花税 0.05% 卖出方(2023 年 8 月由 0.1% 下调)在 100-500% / 日换手下年化 5-25bp——alpha 的可观占比。融券名单(~1000 只)排除许多小盘股;经纪商借券费 4-8% 年化在空头侧每日加 0.5-1.5bp。
CN 产业语境 —— 私募短期账户队伍:Mingshi 明汯、Lingjun 灵均、ZhongCheng 中诚、TF 同花顺-quant、Mingyou 鸣锣、Sotic 思特奇,混合运行经典配对(200-500 对活跃)与篮子 stat-arb(中证 500 + 中证 1000 各部门 PC 残差账户)。上海的外资做市商 Optiver Shanghai、IMC、Tower-CN、HRT、Citadel Securities Shanghai、Jane Street Shanghai 用 1-10 微秒本地环路在沪深 300 ETF basket 套利、50ETF 期权做市、股指期货基差。
行业词汇:统计套利 / 配对交易 / 协整 / 协整检验 / 单位根检验 / ADF 检验 / 残差 / 价差 / Z 评分 / 半衰期 / 均值回归 / 主成分套利 / 篮子套利 / 订单簿套利 / 订单流不平衡(OFI)/ 队列位置 / 高频做市 / 跨市场套利 / A/H 套利 / 沪港通 / 深港通 / 互联互通 / 容量 / 杠杆 / 去杠杆 / 风控阈值。
监管:融券名单由中证金融维护 + 个别经纪商;转融通设施允许经纪商从中证金融借入(2015 年改革后变动显著)。HFT 规则(CSRC 2019 程序化交易管理办法)要求算法交易系统注册,设每秒单数限制;亚秒级 stat-arb 账户必须合规。阅读清单:丁鹏《量化投资策略与技术》统计套利章;Vidyamurthy Pairs Trading: Quantitative Methods and Analysis 中文版;Khandani-Lo 2007 中文译本;严弘 A/H 套利论文;中证公司沪港通套利机制白皮书。
US 端略简:经典配对锚 KO / PEP(消费必需品,5 日半衰期,$1bn 日均成交对);GM / F;JPM / BAC / C / WFC;XOM / CVX;Royal Dutch Shell A / B(2005 年合并前持续 6-12% 溢价,LTCM 时代教科书套利);现代同股结构 GOOGL / GOOG、BRK.A / BRK.B。基金锚 Renaissance Medallion、Two Sigma Spectrum、D.E. Shaw、Citadel Global Equities、Squarepoint Capital、GSA Capital。
综合练习
你正在一个行业对 universe 上设计一本经典配对交易账户,AUM 为 RMB 5亿。请回答五个计算并将答案汇总成一张表。 (i) 从你的区域挑两对候选:(ICBC-A 601398, ICBC-H 1398.HK 经沪港通)和(中信证券 600030, 海通证券 600837);分别陈述每对的一行经济根据(A-H 持续溢价 / 券商信贷周期共动)。 (ii) 在概念层应用协整检验流水线:按顺序陈述五个步骤——
stationarity test on individual series、cointegration coefficient via Engle-Granger two-step OLS、residual stationarity test、half-life of mean-reversion、monthly re-test——并为每一步陈述通过 / 拒绝决策规则。 (iii) 指明交易规则:入场|z| > 2σ,平仓|z| < 0.5σ,硬止损|z| > 4σ(协整断裂);若半衰期是5个交易日,计算每对每年期望往返次数(~12-24 次)。 (iv) 陈述生产纪律:每对活跃对每月复测;协整断裂(M&A、监管事件、公司行为)触发立即平仓;引用你区域的 canonical kill scenario:Feb 2024 微盘股崩盘。 (v) 若并行运行 200 对、平均成对相关性 0.1,计算账户级净夏普:~1.5-3.0。
Exercise
提示
提示
Formula Explorer
\\text{half-life}_{\\text{days}} = -\\frac{\\ln 2}{\\ln \\rho}收束:走向 L3 趋势跟踪 / CTA
Stat-arb 的纪律一句话:Stat-arb 是一台机器——协整检验流水线 + z-score 阈值 + 风险闸门 + 月度复测——不是一次性手挑配对。下一课 L3 把视角从横截面权益均值回归切到 跨资产时间序列动量:50-100 只期货合约横跨 FX / 利率 / 商品 / 股指期货,1-12 月窗口,毛杠杆中等,容量极大。同样的五个目录问题,完全不同的资产层、阿尔法源(时间序列自相关 vs 横截面均值回归)、容量、kill 场景。带着五问继续。