配对交易和反向交易经常被放在一起讲,因为它们都属于均值回归。但它们赌的东西差得挺远,混着用会在完全不同的行情里翻车。
一句话的区别
配对交易赌的是两只特定股票之间的价差回到历史均值。
反向交易赌的是一篮子标的里,谁相对整体涨多了、谁跌多了,这个相对偏离会修正。
前者盯的是一对资产的绝对关系,后者盯的是横截面上的相对排名。配对交易可以看成 N=2 且要求两个标的有基本面联系的特殊情况,反向交易则是把整个池子拉平了做去均值。
配对交易的构建
信号怎么来
取一对历史高度相关的股票 A 和 B——通常是同行业、商业模式接近、受同一批宏观因素影响的两家公司。
分别算出从 到 的收益(价格要复权):
然后做去均值:
去均值收益为正的那只算「高估」,为负的算「低估」。做空高估的,买入低估的。
头寸怎么定
两个约束一起解。总投资额 定规模,货币中性定方向:
第二个式子保证多空金额相等,组合不承担市场方向风险。注意 用的是建仓时刻的价格,不是算信号那一刻的价格——这两个时点之间有间隔,实盘里这个间隔会直接变成滑点。
挑对子的门槛
理想的配对要有协整关系:两只票的价格序列各自可能不平稳,但它们的某个线性组合是平稳的。价差围着一个均值波动,偏离之后会回来。
只看相关系数不够。两只票可以在一段上涨行情里相关系数 0.9,但价差本身在持续发散。这种对子建完仓就开始亏,而且亏的方向一直不变。所以选对子要跑协整检验,不能只按相关系数排序。
参数
- 形成期长度:用多长的历史估价差的均值和标准差
- 开仓阈值:Z 分数到几个标准差开仓,常见 1.5、2、2.5
- 平仓阈值:Z 回到多少平掉,常见 0 或 0.5
- 止损阈值:Z 到几个标准差认输,常见 2.5、3
- 再平衡频率:多久重估一次配对关系
止损阈值这个参数比看起来重要。没有止损的配对交易,收益分布是「大部分时间赚小钱、偶尔亏一大笔」。设了止损,就变成把偶尔那次大亏切成若干次小亏,代价是有些本来会回归的对子被提前砍掉。这个取舍没有标准答案,取决于你的对子里关系破裂的频率有多高。
反向交易的构建
权重直接从去均值来
给定 个标的,先算每个标的过去一周的收益 ,再算等权「市场指数」收益:
权重就是去均值收益取负号:
是缩放因子。跑赢市场的()拿到负权重,做空;跑输的拿到正权重,做多。
这个构造有个很省事的性质: 自动成立,美元中性是白送的,不需要额外约束。
再加一个归一化条件确定 :
波动率必须调
原始权重有个明显毛病:它会在高波动标的上超配。因为高波动标的的 天然更大,权重也就更大。结果是组合的风险全押在最躁动的那几个标的上。
改法是拿波动率去压:
除一次波动率是风险平价的思路,除平方则压得更狠。选哪个取决于你的标的池波动分化有多大。
活跃度过滤
期货版本里有一个增强,逻辑挺有意思。定义两个因子:
是成交量, 是持仓量,带撇的是上一周。筛选分两步:
- 按 排序,取上半部分——成交量放大最多的
- 在这部分里按 排序,取下半部分——持仓量增长较少的
背后的推理:成交量大幅放大说明市场反应剧烈,过度反应的概率更高;持仓量没跟着涨,说明市场深度没有同步增加,价格冲击更容易发生。两个条件叠起来,筛出的是最可能出现快速回弹的那批标的。
股票上没有持仓量这个数据,但可以拿融券余额、期权未平仓量之类的替代,思路可以搬。
两者在什么时候各自失效
这是我最关心的部分,因为均值回归策略的亏损方式很有特点:连续、同向、不给你反应时间。
配对交易的失效
关系破裂。两家公司之间的均衡关系可以永久性消失——一家被收购、换了商业模式、行业格局变了。价差不但不回归,还会持续扩大。这是配对交易最致命的场景,因为它长得跟「偏离更多了,机会更好了」一模一样,很容易越亏越加。
回归时间不确定。协整只保证价差最终回来,没说什么时候。资金占用几个月、期间要不断补保证金,这在杠杆下会先把人挤出去。
单只票的流动性。对子里只要有一只成交冷清,实际执行价和信号价就对不上,理论上的价差在账户里根本实现不了。
反向交易的失效
动量主导的行情。这是反向交易的天敌。赢家继续赢、输家继续输的时候,策略每一期都在做空最强的、买入最弱的,亏损是连续的。2020 到 2021 年那种强趋势行情里,横截面反转策略吃过大亏。
结构性冲击。某个标的因为政策、供需格局的根本变化而单边移动,它相对市场的偏离不会修正。分散度不够的时候,这一个标的就能拖垮整期收益。
标的池太小。 太小的时候, 本身就被少数标的主导,去均值失去意义。期货版本一般要求 20 到 40 个品种。
共同的敌人:成本
两者都是高换手策略。配对交易每次开平仓都是四笔(两腿各买卖),反向交易每周重算权重、每个标的都要动。
按周频、单边换手 30% 粗算,一年 52 次调仓,假设单边全成本 40 个基点:
一年 6 个百分点的摩擦。这个数应该在动手写代码之前就算出来——把你自己的换手率和成本代进去,看毛收益还剩不剩得下。均值回归策略能不能落地,这是第一道门槛,比参数调优重要得多。
而且反向交易还要做空。融券成本、可借券的可得性、被强制召回的风险,这几项在回测里通常完全没有体现。
落地的顺序
真要动手,这个顺序能省掉大量返工。
先做反向交易,后做配对交易。反向交易的构建更机械——去均值、除波动率、归一化,没有主观挑对子的环节,也就少了一层过拟合空间。配对交易的「挑哪些对子」这一步,事后看总能挑出赚钱的组合,很容易骗自己。
第一件事是测毛收益能不能覆盖成本。在调任何参数之前,用你自己账户的真实单边成本跑一遍,看毛收益还剩多少。剩不下就不用往下做了。绝大多数均值回归策略死在这一步,而这一步只要半天。
样本必须覆盖一段趋势行情。只在震荡市里跑出来的反向交易结果不算数,它的最坏情况恰恰在单边行情里。样本区间不含 2020 到 2021 那种强趋势,回测结论没有意义。
做空这条腿要按实际约束建模。融券费率、可借数量、召回风险都进模型。全都当作免费的话,回测出来的市场中性组合在实盘里根本建不起来。
这四条里前两条是筛子,后两条是精度。先过筛子,别一上来就调参数。