4、配对交易策略(二):交易信号的生成与执行

上一章我们聊了怎么找配对,怎么算价差。但找到一对好基友只是第一步,真正赚钱的关键在于——什么时候进场,什么时候跑路。

说白了,信号生成就是给策略装上一双眼睛。我见过太多人,模型建得漂漂亮亮,结果信号处理得一塌糊涂,最后亏得莫名其妙。嗯,今天我们就来把这双眼睛装好。

4.1 交易信号的生成:布林带与Z-score

信号生成的核心逻辑其实很简单:价差偏离均值太多,我们就赌它会回归。但「太多」是多少?这就需要量化工具了。

4.1.1 布林带法

布林带大家应该不陌生。它由三条线组成:中轨(均值)、上轨(均值+ k倍标准差)、下轨(均值- k倍标准差)。

在配对交易里,我们直接把布林带套在价差序列上:

  • 上轨:价差均值 + 2倍标准差
  • 下轨:价差均值 - 2倍标准差
  • 中轨:价差均值(通常用滚动窗口计算)

我个人习惯用20日滚动窗口。为什么是20?因为一个月大概20个交易日,刚好能捕捉到中短期的均值回归特征。当然,你也可以用30、60,看你的交易频率。

信号规则:
  • 价差突破上轨 → 做空价差(卖强买弱)
  • 价差跌破下轨 → 做多价差(买强卖弱)
  • 价差回归中轨 → 平仓

这里有个坑,我踩过。布林带的参数k(标准差倍数)很敏感。k=2是教科书推荐值,但实际中我建议你先回测一下。有些品种波动大,k=2会频繁触发假信号;波动小的品种,k=2又可能错过机会。我曾经在股指期货配对上一开始用k=2,结果一个月被来回打脸8次……后来改成k=2.5,效果好了不少。

4.1.2 Z-score阈值法

Z-score其实就是标准化的价差。公式很简单:

Z = (当前价差 - 价差均值) / 价差标准差

Z-score的好处是——它把不同品种的价差都映射到同一个尺度上。你想想看,股票A和股票B的价差可能是0.5元,股票C和D的价差可能是50元,直接比没法比。但Z-score一标准化,大家就都在同一个坐标系里了。

我的经验是,Z-score阈值一般设在±1.5到±2.5之间。具体怎么选?

阈值 特点 适用场景
±1.5 信号多,但假信号也多 高波动品种,短线交易
±2.0 平衡型,经典配置 大多数配对,中线交易
±2.5 信号少,但胜率高 低波动品种,长线交易
小技巧: 我一般会同时监控布林带和Z-score。如果两者同时发出信号,那这个交易的置信度就高很多。说白了,就是双重确认。

4.2 开仓与平仓规则

信号有了,接下来就是怎么执行。开仓平仓的规则设计,直接决定了你的策略是赚钱还是交学费。

4.2.1 开仓规则

开仓的核心原则就一条:在价差偏离最极端的时候进场。但「最极端」怎么定义?

我常用的开仓规则:

  1. 阈值触发开仓:Z-score超过±2.0时开仓。这是最直接的方式。
  2. 连续突破开仓:价差连续N天(比如2天)突破阈值才开仓。这样可以过滤掉一些单日脉冲。
  3. 动量确认开仓:价差突破阈值后,再等一个反向的K线确认。比如价差突破上轨,但第二天收了一根阴线,说明回归力量开始出现。

我个人比较喜欢第二种。为什么?因为第一种太容易被打止损了。你想想看,价差突然拉一下又回来,你冲进去,结果它又拉一下……嗯,这种滋味不好受。

4.2.2 平仓规则

平仓比开仓更重要。会买的是徒弟,会卖的是师傅。

平仓规则通常有三种:

  • 回归平仓:价差回到中轨(Z-score=0)时平仓。这是最基础的。
  • 反向阈值平仓:价差从极端回归到某个中间位置(比如Z-score从2.0回到0.5)就平仓。这样可以锁定部分利润,避免坐过山车。
  • 时间平仓:持仓超过N天(比如10天)强制平仓。防止价差长期不回归,占用资金。
注意: 千万别死等价差回归到0。我见过有人死扛,结果价差越走越远,最后亏了30%才割肉。设置一个「时间止损」或者「反向平仓」规则,非常有必要。

4.3 止损与资金管理

止损和资金管理,是量化交易的保命符。没有这两样,再好的策略也是空中楼阁。

4.3.1 止损设置

配对交易的止损,和普通单边交易不太一样。我们赌的是价差回归,所以止损应该基于价差的「异常扩大」来设置。

常用的止损方法:

  • 固定倍数止损:比如Z-score超过±3.0时止损。这意味着价差已经偏离均值3个标准差,回归的概率大大降低。
  • ATR止损:用价差的平均真实波幅(ATR)来设置止损。比如止损位 = 开仓价差 ± 2倍ATR。
  • 硬止损:固定亏损比例,比如每笔交易亏损不超过总资金的1%。

我曾经犯过一个错误:在螺纹钢和热卷的配对交易中,我用了固定倍数止损(Z-score=3.0),结果有一次价差直接冲到3.5,我止损了,但第二天它就回来了……你说气不气人?后来我改成ATR止损,效果好了很多。因为ATR能动态适应市场波动,不会因为一个极端值就被打掉。

4.3.2 资金管理

资金管理说白了就是:每次下多少注

我推荐一个简单实用的方法——凯利公式的简化版:

仓位比例 = 胜率 - (1 - 胜率) / (盈亏比)

举个例子:如果你的策略胜率是60%,盈亏比是1.5,那么:

仓位比例 = 0.6 - (1 - 0.6) / 1.5 = 0.6 - 0.267 = 0.333

也就是说,每次用总资金的33%来开仓。当然,实际中我会保守一点,取一半,也就是16.5%。

我的习惯: 同时运行多个配对时,我会把总资金分成若干份,每份对应一个配对。每个配对的仓位不超过总资金的10%。这样即使某个配对出了问题,整体风险也可控。

4.4 核心逻辑流程图

说了这么多,我画了一张图,把整个信号生成和执行的逻辑串起来。你看一眼就明白了:

配对交易信号生成与执行流程图 输入:价差序列 计算:滚动均值、标准差、布林带、Z-score Z-score > 阈值? 或突破布林带? 执行开仓 继续监控 持仓监控 是否回归/止损? 执行平仓 继续持仓

这张图把整个流程串起来了。从输入价差序列开始,到计算统计量,再到判断是否开仓,最后到持仓监控和平仓。每一步都有明确的逻辑判断,这就是量化交易的好处——不靠感觉,靠规则。

4.5 避坑指南

最后,分享几个我踩过的坑,希望能帮你省点学费:

  • 不要过度优化参数:我曾经为了追求回测曲线好看,把布林带参数调了又调,结果实盘一跑就崩。记住,参数越少越稳健。
  • 注意滑点:配对交易通常需要同时买卖两只股票,滑点成本比单边交易高。我一般会在回测中加0.1%的滑点,这样更接近实盘。
  • 警惕价差突变:有些配对平时很乖,但遇到分红、拆股、并购等事件,价差会突然跳变。这时候你的模型就失效了。我建议定期检查配对的相关性,一旦发现异常,立即暂停交易。

好了,这一章的内容就到这里。信号生成和执行是配对交易的核心环节,把这块做扎实了,后面的路就好走了。


公众号:蓝海资料掘金营,微信deep3321