3、配对交易策略:配对选择、价差计算、交易信号生成、止损设置
配对交易,说白了就是找两个「长得像」的股票,赌它们之间的价差会回归。我做了这么多年套利,这招是最经典也最实用的。今天咱们就把这四步拆开揉碎了讲清楚。
3.1 配对选择:怎么找到「天生一对」?
选对配对,成功了一半。我见过太多人随便拉两只银行股就开始做,结果亏得底朝天。选配对不是拍脑袋,得讲科学。
核心原则:两只股票得受同一个「看不见的手」影响。比如同行业的龙头和龙二,或者上下游的产业链伙伴。
我个人习惯用三步筛选法:
- 行业筛选:先圈定同一个行业板块。比如白酒里的茅台和五粮液,银行里的招行和兴业。
- 相关性检验:算过去60天或120天的相关系数。我一般要求
ρ > 0.8才考虑。 - 协整检验:这是关键一步。相关性高不代表长期稳定,协整才是硬道理。
避坑指南:我曾经踩过一个坑——两只股票相关性高达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个标准差还不回来,那哥们直接爆仓了。
所以止损必须设。怎么设?我分享三个常用方法:
- 固定z-score止损:比如z-score到了3.0就无条件平仓。简单粗暴,但有效。
- ATR止损:用平均真实波幅来设。比如价差超过3倍ATR就止损。
- 时间止损:如果持仓超过5天还没回归,就平仓。时间成本也是成本。
我个人偏好第一种。为什么?因为z-score本身就是标准化的,不同品种之间可比。我曾经用ATR止损,结果发现不同股票的波动率差异太大,参数调起来很麻烦。
经验之谈:止损不是设了就完事了。我建议每天收盘前检查一次止损位。如果市场波动率变了,止损位也得跟着调。比如VIX指数飙升的时候,我会把止损放宽到3.5倍标准差。
3.5 完整流程:一张图说清楚
说了这么多,咱们用一张流程图把整个逻辑串起来:
3.6 实战中的几个坑
最后,我分享几个实战中容易踩的坑:
- 配对失效:公司基本面变了,比如并购、重组,原来的配对关系就断了。我建议每周检查一次协整关系。
- 交易成本:别小看手续费和滑点。我见过一个策略,理论年化20%,扣掉成本只剩5%。做配对交易,成本控制是命门。
- 流动性风险:有些小盘股,你卖空的时候根本借不到券。选配对时,一定要看日均成交额,低于1亿的尽量别碰。
最后说一句:配对交易不是印钞机。它是个概率游戏——10次交易里,可能7次赚钱,3次亏钱。关键是让赚钱的那7次赚够,亏钱的那3次少亏。止损设好了,你就能活到下一次机会。