3、配对交易策略:配对选择、价差计算、交易信号生成、止损设置

配对交易,说白了就是找两个「长得像」的股票,赌它们之间的价差会回归。我做了这么多年套利,这招是最经典也最实用的。今天咱们就把这四步拆开揉碎了讲清楚。

3.1 配对选择:怎么找到「天生一对」?

选对配对,成功了一半。我见过太多人随便拉两只银行股就开始做,结果亏得底朝天。选配对不是拍脑袋,得讲科学。

核心原则:两只股票得受同一个「看不见的手」影响。比如同行业的龙头和龙二,或者上下游的产业链伙伴。

我个人习惯用三步筛选法:

  1. 行业筛选:先圈定同一个行业板块。比如白酒里的茅台和五粮液,银行里的招行和兴业。
  2. 相关性检验:算过去60天或120天的相关系数。我一般要求 ρ > 0.8 才考虑。
  3. 协整检验:这是关键一步。相关性高不代表长期稳定,协整才是硬道理。

避坑指南:我曾经踩过一个坑——两只股票相关性高达0.95,但协整检验没通过。结果做进去之后,价差越走越远,亏得我头皮发麻。后来我学乖了,协整检验不过关,再高的相关性也不碰。

协整检验的代码其实不复杂,我贴一段常用的:

import statsmodels.api as sm
import numpy as np

def check_cointegration(price_a, price_b):
    # 先做OLS回归
    model = sm.OLS(price_a, sm.add_constant(price_b))
    result = model.fit()
    residuals = result.resid
    
    # 对残差做ADF检验
    adf_test = sm.tsa.stattools.adfuller(residuals)
    p_value = adf_test[1]
    
    # p值小于0.05说明残差平稳,即协整
    return p_value < 0.05, p_value

3.2 价差计算:到底差了多少?

选好配对之后,就得算价差了。这里有个细节——两只股票的价格量级可能差很多。比如茅台2000块,五粮液200块,直接相减没意义。

标准化价差才是正道。我常用的公式是:

# 计算价差
spread = price_a - hedge_ratio * price_b

# 标准化
z_score = (spread - spread.mean()) / spread.std()

这里的 hedge_ratio 就是对冲比率。怎么算?用OLS回归的系数就行。说白了就是:买1份A,同时卖空多少份B,才能让组合的波动最小。

我的小技巧:hedge_ratio 不是一成不变的。我建议每20个交易日重新算一次。市场在变,对冲比率也得跟着调。

3.3 交易信号生成:什么时候动手?

价差算出来了,接下来就是等信号。信号怎么定?核心就是看z-score。

我个人习惯用双阈值法:

z-score 范围 信号 操作
z > 2.0 做空价差 卖空A,买入B
z < -2.0 做多价差 买入A,卖空B
|z| < 0.5 平仓 了结头寸

你想想看,z-score到了2以上,说明价差已经偏离均值两个标准差,大概率要回归。这时候进场,胜率比较高。

不过阈值不是死的。我见过有人用1.5倍标准差,也有人用2.5倍。这取决于你的风险偏好。我个人习惯:震荡市用1.5,趋势市用2.5。

注意:别一看到信号就无脑冲。我建议加一个「确认机制」——比如信号出现后,等5分钟K线收盘确认。这样可以过滤掉很多假信号。

3.4 止损设置:活下来比什么都重要

做配对交易最怕什么?价差不回归。我见过最惨的一次,价差偏离了6个标准差还不回来,那哥们直接爆仓了。

所以止损必须设。怎么设?我分享三个常用方法:

  1. 固定z-score止损:比如z-score到了3.0就无条件平仓。简单粗暴,但有效。
  2. ATR止损:用平均真实波幅来设。比如价差超过3倍ATR就止损。
  3. 时间止损:如果持仓超过5天还没回归,就平仓。时间成本也是成本。

我个人偏好第一种。为什么?因为z-score本身就是标准化的,不同品种之间可比。我曾经用ATR止损,结果发现不同股票的波动率差异太大,参数调起来很麻烦。

经验之谈:止损不是设了就完事了。我建议每天收盘前检查一次止损位。如果市场波动率变了,止损位也得跟着调。比如VIX指数飙升的时候,我会把止损放宽到3.5倍标准差。

3.5 完整流程:一张图说清楚

说了这么多,咱们用一张流程图把整个逻辑串起来:

配对交易策略完整流程 1. 配对选择 2. 价差计算 3. 信号生成 4. 止损设置 5. 执行与监控 动态调整 行业筛选 相关性检验 协整检验 标准化价差 z-score计算 双阈值法 确认机制 z-score止损 ATR止损 时间止损

3.6 实战中的几个坑

最后,我分享几个实战中容易踩的坑:

  • 配对失效:公司基本面变了,比如并购、重组,原来的配对关系就断了。我建议每周检查一次协整关系。
  • 交易成本:别小看手续费和滑点。我见过一个策略,理论年化20%,扣掉成本只剩5%。做配对交易,成本控制是命门。
  • 流动性风险:有些小盘股,你卖空的时候根本借不到券。选配对时,一定要看日均成交额,低于1亿的尽量别碰。

最后说一句:配对交易不是印钞机。它是个概率游戏——10次交易里,可能7次赚钱,3次亏钱。关键是让赚钱的那7次赚够,亏钱的那3次少亏。止损设好了,你就能活到下一次机会。

专注资料整理