配对交易理论基础

配对交易,说白了就是找两个长得像的股票,一个涨多了就卖它、买另一个;一个跌多了就买它、卖另一个。听起来像耍小聪明?其实背后有扎实的数学逻辑。

我刚开始接触这个策略时,也觉得这不就是「高抛低吸」吗?后来真拿历史数据一跑,才发现坑多得很。今天咱们就把这块地基打牢。

配对交易的核心思想

核心就一句话:找到两只价格走势高度相关的资产,利用它们之间暂时的价差偏离来获利。

你想想看,如果两只股票长期同涨同跌,突然有一天一个涨了5%、另一个只涨了1%,那多出来的4%大概率会回归。我们就在这个「大概率」上做文章。

核心假设:价差序列具有均值回归特性。说白了,价差不会永远跑偏,迟早会回来。

这里有个关键点——不是随便找两只同行业的股票就行。我见过有人把茅台和五粮液硬凑一对,结果发现两者基本面差异太大,价差根本不回归。嗯,选错了配对,策略就废了一半。

配对交易的起源:华尔街的「赌徒」故事

说到配对交易的起源,得回到1980年代的华尔街。那时候有一群交易员,被同行叫作「赌徒」——因为他们不研究公司财报,不看宏观经济,就盯着两只股票的价差来回做。

这群人里最有名的叫Nunzio Tartaglia,他组建了一个量化团队,专门用统计方法找配对。他们的逻辑很简单:

  1. 找历史上走势相似的股票对
  2. 计算它们的价差
  3. 价差偏离到一定程度就反向开仓
  4. 等回归后平仓

听起来是不是跟现在的高频策略有点像?但那时候没有计算机辅助,全靠手工算。我记得看过一个访谈,Tartaglia团队里有个哥们儿每天拿计算器算价差,算到手指发麻。

个人经验:我早期做配对交易时也犯过同样的错——以为价差偏离越大越好。后来发现,偏离过大往往意味着配对关系已经破裂,进去就是接飞刀。

价差序列的构建

价差序列是配对交易的灵魂。构建方式主要有三种,我按常用程度排个序:

方法 公式 适用场景 注意事项
简单价差 P₁ - P₂ 价格水平相近的股票 受价格绝对值影响大
对数价差 ln(P₁) - ln(P₂) 价格差异较大的股票 更稳定,常用
回归残差 P₁ - β·P₂ 需要消除β影响 需要先估计β

我个人最常用的是对数价差。为什么?因为它天然消除了价格尺度的影响。举个例子,茅台2000块,五粮液200块,直接算价差是1800,这个数字毫无意义。但取对数后,价差就在一个稳定的范围内波动。

避坑指南:我曾经直接用简单价差做回测,结果发现策略在牛市中表现极好,熊市中一塌糊涂。后来才意识到,简单价差没有考虑波动率变化。建议至少用对数价差,或者做Z-score标准化。

构建价差序列的代码其实不复杂,我贴一段核心逻辑:

import numpy as np
import pandas as pd

def build_spread(price1, price2, method='log'):
    """
    构建价差序列
    method: 'simple' | 'log' | 'residual'
    """
    if method == 'simple':
        spread = price1 - price2
    elif method == 'log':
        spread = np.log(price1) - np.log(price2)
    elif method == 'residual':
        # 先用OLS估计beta
        beta = np.cov(price1, price2)[0,1] / np.var(price2)
        spread = price1 - beta * price2
    return spread

配对交易的四大步骤

搞清楚了价差怎么算,接下来就是完整的交易流程。我把它拆成四步,每一步都有坑,咱们一个一个说。

第一步:筛选配对

这一步的目标是找到潜在的配对候选。常用的方法有:

  • 行业分类法:同行业、同板块的股票天然具有相关性
  • 相关性筛选:计算历史价格相关系数,一般要求 > 0.8
  • 协整检验:这是最严格的筛选,要求配对具有协整关系

我建议先用相关性筛一遍,再用协整检验确认。别上来就跑协整,计算量太大。

第二步:确定开仓阈值

价差偏离到多少才开仓?这取决于价差的历史分布。通常的做法是:

  1. 计算价差的均值和标准差
  2. 设定阈值:均值 ± k·标准差
  3. k一般取1.5到2.5之间

经验值:我个人习惯用2倍标准差作为开仓阈值。太小的阈值会导致频繁交易、手续费吃掉利润;太大的阈值又可能等不到开仓机会。

第三步:执行交易

当价差突破上阈值时,做空强势股、做多弱势股;跌破下阈值时则反向操作。这里有个细节——仓位配比怎么定?

我见过有人用等市值配比,也有人用β配比。我的建议是:用β配比来对冲市场风险。具体来说,如果β=1.2,那就做空1.2份强势股、做多1份弱势股。

第四步:平仓与止损

平仓条件一般有两个:

  • 价差回归到均值:正常获利了结
  • 价差继续扩大:触发止损

止损怎么设?我踩过一个大坑——曾经设了3倍标准差止损,结果一次黑天鹅事件直接亏了15%。后来我改成动态止损,根据近期波动率调整。

小技巧:止损阈值可以设成开仓阈值的1.5倍。比如开仓阈值是2倍标准差,止损就设在3倍标准差。这样既给了价差足够的回归空间,又控制了最大亏损。

下面这张图把四大步骤串起来了,你可以对照着看:

配对交易四大步骤流程图 ① 筛选配对 ② 确定阈值 ③ 执行交易 ④ 平仓止损 说明: 虚线箭头表示循环——配对交易是一个持续监控、反复执行的过程。 每个步骤都有对应的量化指标和风控规则,不能跳过任何一步。

看到这个循环了吗?配对交易不是一锤子买卖。开仓之后要持续监控价差,平仓之后继续找下一轮机会。我见过做得好的交易员,同时监控20-30个配对,哪个触发信号就做哪个。

最后说一句——这四步看起来简单,但每一步都有无数细节。比如筛选配对时,是用日线还是小时线?阈值是用固定值还是动态值?这些咱们后面章节会一个一个拆解。