1. 配对交易概述:什么是配对交易、统计套利的核心思想、市场中性策略简介

1.1 什么是配对交易?

配对交易,说白了就是「买一个,卖一个」。

你找到两只走势高度相关的股票,比如茅台和五粮液。正常情况下,它们的价格会像双胞胎一样同步波动。但偶尔也会闹别扭——一个涨得快,一个跌得狠。这时候,你就做多那个跌多的,做空那个涨多的。等它们价差回归正常,两边一平仓,利润就到手了。

我刚开始做量化那会儿,总觉得这方法太简单。后来在实盘里跑了一圈才发现,越简单的东西越容易出问题。嗯,这里要注意:配对交易不是无脑套利,它背后有一套严谨的数学逻辑。

核心要点:
  • 配对交易是统计套利的一种经典实现
  • 依赖两只资产之间的长期均衡关系
  • 本质是「赌价差回归」,而不是赌单边涨跌

1.2 统计套利的核心思想

统计套利,听起来很高大上。其实核心就一句话:利用统计规律赚钱

传统套利靠的是无风险机会,比如同一只股票在不同交易所的价格差。但统计套利不一样,它赌的是「大概率会回归」。说白了,就是做概率的朋友。

为什么会这样?因为金融市场里,很多资产之间存在内在联系。比如同一行业的龙头和龙二,或者上下游产业链的股票。它们的价差虽然会短期偏离,但长期来看,总会回到某个均值附近。

我记得有一次做能源板块的配对,发现两只股票价差偏离了3个标准差。团队里有人觉得机会来了,但我坚持再等一天。结果第二天价差继续扩大,第三天直接回归。你看,统计套利不是无脑冲,你得理解背后的驱动逻辑。

避坑指南: 我曾经吃过一次亏——选了两只看起来高度相关的股票做配对,结果发现它们的相关性是伪回归。后来我养成了一个习惯:做配对前,先跑一遍协整检验,再跑一遍单位根检验。别嫌麻烦,这一步能省掉你后面80%的坑。

1.3 市场中性策略简介

市场中性策略,说白了就是「不管大盘涨跌,我都能赚钱」。

你想想看,传统做多策略最怕什么?大盘暴跌。但配对交易不一样,你同时持有多头和空头头寸。大盘涨,你的多头赚、空头亏;大盘跌,你的空头赚、多头亏。只要配对选得好,整体头寸对市场波动是免疫的。

这就是市场中性策略的核心——剥离市场风险,只赚取价差收益

我个人习惯把市场中性策略分成两类:

  • Beta中性:让组合的Beta值接近0,彻底隔离大盘波动
  • 行业中性:在同一行业内做配对,避免行业轮动的影响

你可能会问:那配对交易到底能不能做到完全市场中性?我的答案是:理论上可以,但实操中很难。因为两只股票的Beta值不可能完全相等,总会有残差。不过没关系,只要残差足够小,长期来看收益曲线就会非常平滑。

注意事项: 市场中性不等于无风险。配对交易依然面临价差持续不回归的风险,这在极端行情下尤其明显。比如2008年金融危机,很多看似稳固的配对关系都崩了。所以,永远要设置止损线。

1.4 知识体系总览

下面这张图,是我自己整理的知识框架。你可以把它当作本章的「地图」——先看整体,再深入细节。

配对交易 配对交易概述 买一个,卖一个 价差回归策略 统计套利核心思想 协整关系检验 概率思维赚钱 伪回归陷阱 市场中性策略 Beta中性 行业中性 残差风险 核心目标:剥离市场风险,赚取价差收益 协整检验 → 配对选择 → 价差监控 → 开仓平仓

1.5 一个简单的配对交易示例

光说不练假把式。我写了一段简单的Python代码,帮你理解配对交易的基本流程。这段代码不追求完美,重在展示逻辑。

import numpy as np
import pandas as pd
import statsmodels.api as sm

# 模拟两只股票的价格序列
np.random.seed(42)
dates = pd.date_range('2023-01-01', periods=252, freq='D')

# 股票A:随机游走
stock_a = 100 + np.cumsum(np.random.randn(252) * 0.5)
# 股票B:与A协整,但有一定噪声
stock_b = 0.8 * stock_a + np.random.randn(252) * 2

# 计算价差
spread = stock_a - stock_b

# 做协整检验
from statsmodels.tsa.stattools import coint
score, pvalue, _ = coint(stock_a, stock_b)
print(f'协整检验p值: {pvalue:.4f}')

# 如果p值小于0.05,说明存在协整关系
if pvalue < 0.05:
    print('两只股票存在协整关系,可以配对交易')
else:
    print('不存在协整关系,放弃这个配对')

# 计算价差的均值和标准差
mean_spread = np.mean(spread)
std_spread = np.std(spread)

# 开仓信号:价差偏离超过2个标准差
z_score = (spread[-1] - mean_spread) / std_spread
print(f'当前价差Z-score: {z_score:.2f}')

if z_score > 2:
    print('做空价差:卖A买B')
elif z_score < -2:
    print('做多价差:买A卖B')
else:
    print('价差在正常范围内,观望')
代码说明:
  • 协整检验是配对交易的第一步,p值小于0.05才算通过
  • Z-score用来衡量价差偏离程度,一般以±2为阈值
  • 实际交易中还要考虑交易成本、滑点等因素

1.6 本章小结

这一章我们聊了配对交易的三个核心概念:

  • 配对交易:利用两只相关资产的价差波动赚钱
  • 统计套利:用概率思维做交易,赌价差回归
  • 市场中性:剥离大盘风险,只赚取价差收益

我个人觉得,配对交易最迷人的地方在于它的「确定性」。单边交易像是在赌场里猜大小,而配对交易更像是在做数学题——只要你的模型够准,利润就是时间问题。

当然,前提是你得把协整检验、单位根检验这些基本功练扎实。下一章我们会深入这些技术细节,到时候我会手把手带你跑一遍完整的回测流程。


专注资料整理