两只股票历史上走势接近,价差长期在一个区间内摆动。价差扩大,做空强势腿、做多弱势腿;价差收敛,双腿平仓。逻辑清楚,模型漂亮,回测曲线也能爬得像一条训练有素的直线。
然后某一天,价差击穿原来的边界,继续向外发散。你等回归,它不回归;你等第二天,它再拉开;你开始补仓,市场继续绞杀。最后不是策略止损,而是账户先被扫穿。
这就是配对交易的协整陷阱:你以为自己交易的是均值回归,实际上交易的已经是一段失效关系。
明日开盘前,不要先问哪一对的入场Z-Score最漂亮。先问三个更残酷的问题:
- 残差还平稳吗?
- 当前价差偏离,是正常波动还是结构性发散?
- 价差回归速度有没有慢到足以拖死这笔交易?
这三个问题,分别对应ADF检验、滚动Z-Score和均值回归半衰期。它们不是装饰在回测报告里的统计名词,而是你在开盘前决定“继续交易、降低仓位,还是直接删除配对”的三道闸门。
配对交易不是押注两只标的永远相关,而是押注它们之间的价差关系仍然有效。
协整不是婚姻关系,市场一变就会翻脸
配对交易里最常见的错误,是把相关性当成协整。
两只股票过去十年一起上涨,相关系数很高,不代表它们之间存在可以交易的稳定价差。相关性描述的是价格变动方向是否相近,协整检验关注的却是:两条本身不平稳的价格序列,经过线性组合以后,残差是否平稳。
设两只标的价格分别为 \(P_A\) 和 \(P_B\),常见的价差形式是:
\[
S_t=P_{A,t}-\beta P_{B,t}
\]
这里的 \(\beta\) 不是随便取的比例,而是通过回归估计出来的对冲比率。真正需要观察的是价差残差 \(S_t\) 是否围绕某个均值上下摆动。
如果残差平稳,价差偏离后存在收敛基础;如果残差不平稳,所谓“回归均值”就只剩下图表上的幻觉。你看到的不是价格暂时偏离,而可能是两家公司、两个行业、两种资产定价逻辑已经分道扬镳。
恩格尔和格兰杰在1987年提出协整理论,后来这套理论成为统计套利的重要基础。它解决了一个核心问题:如何区分真正存在长期均衡关系的序列,以及只是因为共同趋势而产生的伪回归。
但理论有边界。协整检验通过,只能说明在样本窗口内,残差呈现出平稳特征。它不承诺下一个交易日仍然平稳,更不承诺市场在突发事件之后还会照着过去的轨道运行。
相关性高,为什么仍然会爆仓
举一个实盘里经常出现的结构。
一只银行股和银行指数过去一段时间走势高度同步。你看到相关性不错,于是把个股和指数做成配对。开盘前,个股因为一则业绩公告低开,指数没有同步下跌。价差迅速扩大。
如果你只看相关性,结论会是:两者长期同涨同跌,回调后应该修复。
如果你看协整残差,结论可能完全相反:原来的线性关系已经被公告击穿,价差正在重新寻找新的均衡位置。
配对交易做的是残差,不是故事。行业相同、业务相似、走势同步,这些都只能作为候选条件,不能直接变成入场理由。
ADF检验:开盘前第一道防线
ADF检验通常用来判断残差是否存在单位根。实务中,常见判断方式是观察ADF检验的p值以及统计量。
- p值低于0.05,说明残差平稳性得到较强支持;
- p值高于0.10,不能继续把这组配对当作正常统计套利对象;
- ADF统计量若没有击穿约为-2.86的临界水平,也不能把协整关系当成可靠前提。
这里必须把话说死:p值高于0.10,不是“信号稍微变差”,而是失效筛查的明确警报。你可以继续研究它,但不能继续用旧模型机械开仓。
p值落在0.05和0.10之间时,不能拿一句“介于两者之间”来糊弄。这个区域说明统计证据不够干净,策略应当进入观察名单,而不是按正常配对执行。真正的交易系统必须把这种灰区转化为动作,例如降低配对权重、缩短持仓期限、提高止损敏感度,或者暂时禁止新开仓。
为什么不能只做一次ADF检验
一次全样本检验,最容易把已经失效的关系包装成稳定关系。
假设你用过去三年的数据进行回归。前两年两家公司业务结构接近,第三年其中一家完成资产重组,收入来源、杠杆水平和市场定价逻辑全部改变。三年的平均结果仍然可能显示残差平稳,但最近一段时间已经开始单边发散。
这就是历史样本拖着当前状态一起撒谎。
更合理的做法是使用滚动窗口:
1. 先确定训练窗口,例如过去若干交易日或若干个月;
2. 在每个交易日重新估计残差和对冲比率;
3. 对最新窗口进行ADF检验;
4. 同时比较最近多个窗口的p值变化,而不是只看一个数字;
5. 如果p值持续抬升,或者从低于0.05穿过0.10,直接触发失效筛查。
如果昨天的p值是0.04,今天变成0.08,明天开盘前又升到0.13,这不是三个孤立数字,而是一条正在恶化的路径。你不需要等模型正式宣布死亡才撤单,市场不会给你颁发一张“协整关系已断裂”的通知书。
第一个指标:ADF检验看残差有没有失去平稳性
ADF检验的作用,不是替你预测涨跌,而是回答一个更基础的问题:这组配对是否还值得继续使用。
开盘前筛查时,建议至少把下面几项放在同一张监控表里:
| 监控项目 | 正常状态 | 风险状态 | 执行动作 |
|---|---|---|---|
| ADF检验p值 | 低于0.05 | 高于0.10 | 删除新开仓资格,检查已有仓位 |
| ADF统计量 | 低于临界值,约-2.86以下 | 未能击穿临界值 | 不再把均值回归作为默认前提 |
| p值连续变化 | 稳定或回落 | 连续抬升 | 降权、缩短持仓或暂停交易 |
| 残差走势 | 围绕均值摆动 | 长时间单边移动 | 结合Z-Score判断是否强制平仓 |
| 对冲比率 | 在历史波动范围内 | 快速漂移 | 重新估计模型,检查结构变点 |
注意,ADF检验不能单独决定所有动作。
p值低于0.05,也不等于这笔交易可以直接开仓。残差可能平稳,但当前价差已经被流动性冲击推到极端位置;也可能模型在统计上成立,但两条腿的交易成本、融券限制和滑点已经吃掉全部收益。
反过来,p值高于0.10时,也不意味着两只标的永远没有关系。它只说明旧的统计套利模型失去了当前交易所需的证据。你可以重新建模,可以等待新的稳定窗口形成,但不能抱着旧参数继续补仓。
盘前数据要看什么
明日开盘前的协整筛查,不能只读取昨天收盘价,然后把检验结果当成实时真相。你需要把最近一个交易日的变化拆开看:
- 两只标的是否出现单边跳空;
- 是否有业绩、停牌、重组、监管、分红除权等事件改变价格结构;
- 一条腿是否存在融券限制、涨跌停限制或流动性塌陷;
- 价差扩大是否发生在收盘前最后一段时间;
- 对冲比率是否突然跳变;
- 残差的波动率是否从平稳区间脱离。
研究资料无法覆盖所有盘前突发公告,也不能保证协整p值在事件发生后能够被及时、准确地重新计算。系统必须承认这个盲区,而不是用一串精确到小数点后的参数制造安全感。
如果盘前已经出现重大事件,最稳妥的动作往往不是急着修复模型,而是暂时禁止交易。市场开盘后的第一轮报价可能包含新的信息,旧的收盘价和新的开盘价之间会形成断层。你在断层上计算出来的Z-Score,可能只是报价缺口的产物。
第二个指标:滚动Z-Score,识别正常偏离还是失控发散
协整检验告诉你关系有没有基础,Z-Score告诉你当前价差偏离得有多远。
对价差 \(S_t\) 进行滚动标准化,常见形式为:
\[
Z_t=\frac{S_t-\mu_t}{\sigma_t}
\]
其中,\(\mu_t\)是滚动均值,\(\sigma_t\)是滚动标准差。
当Z-Score达到1.5至2.0,很多配对策略会把它视为入场区域:价差相对历史均值出现明显偏离,交易者做多被低估的一腿,同时做空被高估的一腿,等待收敛。
但这里最危险的误读是:Z-Score越大,机会越大。
不对。Z-Score越大,只能说明偏离越极端。它可能是均值回归前的最后一脚,也可能是结构断裂后的第一段趋势。你必须先判断价差为什么扩大,再决定它是不是交易机会。
入场阈值不是止损阈值
把入场线和止损线混在一起,是配对交易爆仓的常见起点。
一个基本的区分可以是:
- Z-Score达到1.5至2.0:进入候选入场区,等待其他条件确认;
- Z-Score回到均值附近:观察收敛是否完成,考虑平仓;
- Z-Score突破2.5至3.0:进入强制风险处置区;
- Z-Score超过3.0且继续单边扩张:不要再用“极端偏离必然回归”解释它,直接按失效处理。
不同市场、不同标的、不同持仓周期,需要重新估计阈值。这里的关键不是背下一个固定数字,而是把策略动作写进系统。没有强制平仓条件的均值回归策略,本质上是在把止损权交给情绪。
你可以允许模型在1.8附近开仓,但不能允许交易者在2.6附近说“再等等”。一旦止损阈值被击穿,系统必须扫损。否则前面的所有量化规则,最后都会被一句手工干预击穿。
1.8个标准差是交易信号,3.0个标准差是生存问题。把两者混成一条线,账户就会替你的含糊买单。
滚动窗口为什么会制造假稳定
Z-Score依赖均值和标准差。问题在于,均值和标准差本身也会被极端行情拖动。
价差突然大幅扩大后,新的极端值进入滚动窗口。均值可能被推向新的位置,标准差也会迅速放大。此时Z-Score看上去从3.2回落到2.1,但价差并没有真正收敛,只是统计尺度被冲击重新拉宽了。
这是很多回测系统最喜欢藏起来的地方。信号数字回来了,账户净值却没有回来。
所以盘前不应只看最新Z-Score,还要看以下变化:
1. 价差相对于旧均值是否仍然处在单边区域;
2. 滚动均值是否已经明显漂移;
3. 滚动标准差是否突然扩大;
4. Z-Score回落是否伴随两条腿真正收敛;
5. 价差是否曾经连续多个交易日维持在均值一侧。
如果Z-Score从3.0降到2.4,但价差仍在新高附近横住,不能把它当成回归开始。那可能只是发散速度暂时放慢。
开盘缺口会把Z-Score直接踢进止损区
配对交易的两条腿经常不会同时、等幅度地开盘。
假设昨天收盘时,价差对应的Z-Score为1.7,模型准备在次日开盘附近入场。夜间一条腿发布重大公告,开盘直接跳空,另一条腿只小幅变动。此时Z-Score可能直接冲到2.8甚至3.0以上。
这笔交易不能因为前一日的1.7已经触发信号,就机械按照原计划进场。开盘价已经改写了风险收益比。原本的入场位置被跳空越过,模型应该重新计算价差、残差和交易成本。
对于有涨跌停制度、融券约束或开盘集合竞价波动较大的市场,还要把可执行性放在统计信号之前。理论上的双腿同步成交,实盘里可能变成一条腿已经成交,另一条腿挂不上、借不到、滑不进。此时你持有的不是配对仓位,而是裸腿风险。
价差偏离后的复盘顺序
不要从结果倒推逻辑。交易结束后,按照下面的顺序复盘更有价值:
- 入场时,ADF检验是否仍然支持残差平稳;
- 入场时,Z-Score是否位于策略定义的交易区间;
- 价差扩大时,扩大速度是否超过历史分布;
- 两条腿是否出现异步跳空或流动性断层;
- 触发止损时,Z-Score是否已经超过失效阈值;
- 如果没有止损,究竟是哪一条规则被人为取消。
最后一项最重要。很多交易者会把亏损归因于“这次行情特殊”,却不愿承认自己在2.7个标准差时取消了止损。市场当然会出现特殊行情,但模型真正的失效,往往不是发生在屏幕上,而是发生在交易者决定不执行规则的那一秒。
第三个指标:半衰期拉长,说明均值回归正在失去力量
Z-Score看偏离幅度,半衰期看回归速度。
均值回归半衰期,描述价差偏离后回到一半所需的时间。它不是预测具体哪一天回归,而是衡量这组配对的收敛效率。
在很多统计套利策略中,15至30天可以作为典型参考区间。这个区间不是万能标准,但足够用来识别一个危险变化:原本几天就能回归的价差,现在需要几十天,甚至根本没有收敛。
这时,配对关系可能还没有在ADF检验里彻底失效,但它已经不适合原来的交易周期。你以为持仓周期是十天,价差却需要三十天才能完成半程收敛。资金占用、融资成本、借券费用和机会成本会一起咬住账户。
半衰期的计算逻辑
常见做法是对价差变化进行自回归估计。可以把价差的变化近似写成:
\[
\Delta S_t=\alpha+\lambda S_{t-1}+\varepsilon_t
\]
当\(\lambda\)为负时,价差具备一定的回归倾向。半衰期通常根据估计出的回归速度换算得到,核心思想只有一句话:回归速度越快,半衰期越短;回归速度越慢,半衰期越长。
但不要被公式骗了。半衰期的数值对样本窗口、异常值和结构变点都很敏感。
比如过去一段时间价差快速回归,估算半衰期为18天。最近连续几周,价差在均值一侧停留,偶尔出现大幅反向波动,新的滚动计算可能把半衰期推到45天。若你还按照原来的持仓上限和止盈时间执行,资金会被锁在一笔越来越迟钝的交易里。
半衰期如何与止损结合
半衰期不能替代止损,但可以决定止损的耐心。
可以把它拆成三种情况:
半衰期稳定,Z-Score正常波动。
这说明价差的回归速度没有明显恶化。只要ADF检验、流动性和交易成本没有发出反向信号,可以按照原模型执行。
半衰期持续拉长,Z-Score仍未突破止损线。
这不是“暂时没亏损”,而是交易效率正在下降。新仓应当暂停,已有仓位可以降低风险敞口,或者设定时间止损。否则,模型会把短周期套利拖成长期方向赌局。
半衰期失去统计显著性,同时Z-Score单边发散。
这不需要继续争论。它已经从低效交易转入失效交易,直接强制平仓。不要等ADF下一次检验给你盖章,也不要等价差自己证明你是对的。
为什么时间止损不能被忽略
很多人只设置价格止损,不设置时间止损。
价格没有突破3.0,账面亏损看起来还可以接受,于是继续持仓。问题是,均值回归策略的盈利来源就是回归速度。价差如果长时间不动,策略优势已经被消耗。你承担了新的信息冲击,却没有得到相应的风险补偿。
时间止损可以围绕半衰期设计。例如,某组配对历史半衰期为20天,策略持仓超过若干个半衰期后仍未出现有效收敛,就需要重新评估。具体倍数应由回测和交易成本决定,但原则不变:一笔短周期统计套利,不能无限期占用资金。
更不能因为“浮亏还不大”就把它拖成中长线投资。那是交易系统被人类情绪接管后的典型变形。
对冲比率漂移:价差模型正在换骨头
很多配对策略使用静态对冲比率。
例如通过历史回归得到\(\beta=0.8\),于是每次交易都按照一份A对应0.8份B进行对冲。这个比例在训练样本内可能有效,但市场结构不是钉死在墙上的参数。
公司市值变化、行业权重调整、盈利预期变化、杠杆变化、指数再平衡,都会影响两只标的的相对敏感度。静态对冲比率一旦漂移,表面上的“市场中性”就会漏风。
如果你继续使用旧的\(\beta\),价差中的方向暴露会逐步增加。起初只是小幅偏差,遇到单边行情后,原本的配对仓位会被某一条腿拖成隐形方向仓。
盘前如何识别对冲比率异常
将当前滚动对冲比率与历史区间比较,至少看三件事:
- 对冲比率是否连续向一个方向移动;
- 比率变化是否与ADF p值抬升、半衰期拉长同步出现;
- 使用新比率后,残差波动是否明显下降。
如果\(\beta\)突然跳变,不要立刻认为“重新回归就好了”。先排查跳变的来源:
- 是否有除权除息导致价格序列不连续;
- 是否有合约换月、指数调整或成分变化;
- 是否有一条腿出现流动性塌陷;
- 是否存在重大公司事件;
- 是否是数据复权、时间戳或价格清洗错误。
数据错误和结构断裂,在图表上有时长得很像。前者需要修复数据,后者需要砍掉策略。把两者混在一起,回测会继续漂亮,实盘会继续流血。
卡尔曼滤波不是万能修复器
卡尔曼滤波可以动态跟踪对冲比率,让模型根据新数据逐步调整,而不是把一个旧的静态参数用到底。对于市场敏感度不断变化的配对,它比固定回归更灵活。
但灵活也有代价。
如果滤波器过度追踪噪声,对冲比率会跟着每一次短期波动乱跳。模型看起来适应了市场,实际是在用参数追涨杀跌。等它终于追上新的结构,交易机会可能已经结束,滑点和手续费先把利润吃干净。
使用动态对冲比率时,要设定:
- 参数更新频率;
- 比率变化的最大允许速度;
- 异常跳变的冻结条件;
- 重新估计后是否必须重新计算Z-Score;
- 动态模型失效时的备用退出方案。
不要把卡尔曼滤波当成“自动修复协整关系”的按钮。它只能追踪变化,不能创造均值回归。
变点检测:别等统计结果迟到
协整关系破裂往往不是一瞬间完成,而是先出现残差分布变化、波动率变化和回归速度变化。等到ADF p值正式超过0.10,损失可能已经扩大。
这就是变点检测的价值。
贝叶斯在线变点检测等方法,可以监控时间序列的生成机制是否发生变化。它关注的不是某个价差今天涨了还是跌了,而是均值、方差、自相关结构是否发生切换。
在配对交易中,可以把变点检测作为ADF、Z-Score和半衰期之外的提前预警层:
- 变点概率上升,暂停新增仓位;
- 残差波动率突然切换,重新估计滚动参数;
- 对冲比率与残差均值同时变化,检查结构断裂;
- 变点确认后,旧模型进入冻结状态;
- 只有经过新的训练窗口验证,配对才重新获得交易资格。
变点检测不能准确告诉你下一根K线向上还是向下,也不能替你决定最佳平仓价格。它的作用是把你从“继续相信旧模型”的惯性里拽出来。
开盘前的三指标筛查,应该怎样落地
真正可执行的盘前流程,不需要堆满几十个因子。配对交易最怕的是指标越来越多,最后每个指标都能被解释成继续持仓的理由。
可以把筛查分成四个阶段。
第一阶段:先筛掉事件风险
在计算统计指标前,先检查两条腿的基本状态:
- 是否出现重大公告或监管事项;
- 是否发生停牌、复牌、除权除息;
- 是否存在融券不可得或借券成本急升;
- 是否有明显的盘前跳空预期;
- 是否会受到涨跌停、交易时段或合约换月影响。
如果事件已经改变了其中一条腿的基本面或交易条件,旧配对直接进入冻结名单。不要因为历史相关性还在,就给结构风险开绿灯。
第二阶段:重新估计残差和对冲比率
使用最新滚动窗口重新回归,得到新的对冲比率和残差序列。不要只把昨天的参数复制到今天。
接着比较新旧结果:
- 对冲比率是否漂移;
- 残差均值是否移动;
- 残差标准差是否扩大;
- 价差是否出现明显偏态;
- 最近窗口与较长窗口的参数是否冲突。
如果新旧模型差异很大,先把它当作风险信号,而不是当作更精准的交易机会。
第三阶段:依次检查ADF、Z-Score和半衰期
建议用硬规则处理:
1. ADF p值高于0.10,配对失效筛查触发,禁止新开仓;
2. ADF统计量未能达到约-2.86的临界水平,不能把协整作为有效依据;
3. Z-Score处于1.5至2.0,可以进入候选区,但必须结合交易成本和执行条件;
4. Z-Score达到2.5至3.0,进入强制风险处置区;
5. 半衰期从15至30天的参考区间持续拉长,暂停按旧持仓周期执行;
6. 半衰期不显著且价差单边发散,直接退出。
这些条件不是让你预测市场,而是让你在市场不配合时少犯错。
第四阶段:把风险敞口锁死
单配对资金风险敞口建议控制在投资组合总资产的5%至10%以内。这里说的是单配对整体风险预算,不是简单把两条腿的名义金额相加后就认为完成了对冲。
你还要考虑:
- 两条腿是否真的能同步成交;
- 对冲比例是否让净方向暴露接近目标;
- 开盘滑点是否可能扩大;
- 强平时是否存在一条腿无法成交;
- 多组配对之间是否共享同一行业、指数或宏观风险;
- 多个配对同时失效时,组合是否会集中爆仓。
名义中性不等于风险中性。两条腿各自波动、相关性突变和流动性收缩,都会让看似平衡的组合突然倾斜。
一个盘前决策示例:别让漂亮的入场信号骗了你
假设某组股票配对在过去一段时间表现稳定。前一交易日收盘后,系统给出以下结果:
- ADF p值为0.04;
- Z-Score为1.9;
- 半衰期为21天;
- 对冲比率处于历史正常范围。
如果只看这四个数字,很多人会准备第二天开盘进场。
但盘前一条腿出现重大业绩变化,预期将大幅低开。重新纳入最新价格后,结果变成:
- ADF p值升至0.13;
- Z-Score跳升至2.8;
- 半衰期拉长到42天;
- 对冲比率明显偏离原区间。
这时候,旧信号已经没有执行价值。昨天的1.9属于历史状态,今天的2.8属于新的风险状态。你不能因为模型曾经在昨天发出入场信号,就把今天的失效条件删除。
更糟糕的做法,是开盘后先买入弱势腿,等强势腿回落再补空。只成交一条腿,配对交易就变成了单腿抄底。市场一旦继续跳空,你会同时承受方向风险和执行风险。
正确的动作很简单:冻结新仓,等待结构重新估计。已有仓位则根据Z-Score、ADF变化和实际成交条件执行退出,不把“还没超过3.0”当成继续忍耐的许可证。
回测系统最容易漏掉的三类陷阱
未来函数让协整关系看起来更稳定
如果回测使用了未来数据估计对冲比率、均值或标准差,Z-Score会被严重美化。盘前筛查必须严格使用当时已经获得的数据。当天收盘后才能知道的价格,不能拿来决定当天开盘前的动作。
滚动窗口也必须向后滚动,不能把整段样本的统计参数固定到历史每一天。否则,策略知道未来的均值和波动,实盘当然无法复制。
忽略双腿成交顺序
回测里的双腿成交通常发生在同一个价格、同一时间。实盘没有这种待遇。
一条腿成交后,另一条腿可能出现:
- 开盘价格快速跳动;
- 盘口深度不足;
- 融券无法借入;
- 交易限制导致无法下单;
- 滑点超过历史平均;
- 订单部分成交。
所以回测至少要对双腿分别模拟成交、滑点和延迟。否则策略收益可能不是来自均值回归,而是来自一个不存在的成交假设。
把失效配对留在候选池里
很多系统只负责产生信号,不负责删除失效对象。于是某组配对ADF p值持续升高、半衰期不断拉长、Z-Score多次冲击止损线,系统仍然每天把它放回候选池。
这不是模型坚持,是系统没有记忆。
应当给配对建立状态:
- 正常;
- 观察;
- 降权;
- 禁止新仓;
- 强制退出;
- 重新训练;
- 恢复交易。
只有经过新的滚动窗口验证,失效配对才能回到正常状态。否则,旧关系会像一颗没有拆掉的雷,反复被策略踩中。
组合层面的风险:一组配对失效,可能不是孤立事件
单配对风险敞口控制在5%至10%,并不意味着组合安全。
如果你同时交易多组银行股、券商股和金融指数配对,它们看似是不同交易,实际上可能共享同一个行业风险。市场发生监管冲击时,所有价差同时发散,多个止损一起触发,滑点还会相互放大。
组合层面至少要监控:
- 配对之间的残差相关性;
- 两条腿的行业和风格暴露;
- 多组配对是否共享同一基准资产;
- 同时处于高Z-Score区域的配对数量;
- 同时触发ADF恶化的配对数量;
- 组合总保证金和可用流动性;
- 极端行情下双腿无法同时退出的风险。
当多个配对同时出现半衰期拉长和残差波动扩张时,不要把它们当成多个独立机会。这更像是市场结构正在切换。此时继续扩大仓位,是把统计套利做成集体接飞刀。
三个指标如何互相验证
ADF、Z-Score和半衰期各自回答不同问题:
| 指标 | 它回答的问题 | 典型风险信号 |
|---|---|---|
| ADF检验 | 残差是否仍具备平稳性 | p值升至0.10以上,统计量无法击穿临界值 |
| 滚动Z-Score | 当前价差偏离是否进入风险区 | 突破2.5至3.0并持续单边扩张 |
| 半衰期 | 价差回归速度是否衰退 | 从15至30天参考区间持续拉长 |
| 对冲比率 | 两条腿的相对敏感度是否变化 | 比率快速漂移,旧模型无法覆盖 |
| 变点检测 | 生成机制是否出现切换 | 残差均值、方差或自相关结构突变 |
真正需要警惕的是指标共振。
- ADF恶化,但Z-Score仍在1.5附近:先暂停新增仓位,等待确认;
- Z-Score突破3.0,但ADF仍低于0.05:不要迷信单一统计检验,先执行风险控制;
- 半衰期拉长,ADF p值同步抬升:均值回归效率和统计基础同时衰退;
- 对冲比率漂移,残差波动扩大:检查结构变点,不要继续使用静态参数;
- 三项指标同时恶化:按失效配对处理,不留情面。
指标不是用来互相打架的,而是用来确认风险是否正在从一个角度扩散到另一个角度。
最后,别把“失效筛查”做成事后解释
量化交易最怕两种人。
一种人在交易前只看机会,不看失效条件。入场时谈均值回归,亏损后谈长期逻辑,爆仓前还在等待价差回家。
另一种人在交易后把所有指标重新调到刚好解释结果,形成一份看起来无懈可击的复盘报告。这样的复盘没有用,因为它无法在明天开盘前阻止你再次犯错。
真正有价值的筛查,必须在下单之前明确写出:
- 什么情况下协整关系不再接受;
- 什么情况下Z-Score只是危险,而不是机会;
- 价差多久不回归就必须退出;
- 对冲比率漂移到什么程度需要重建模型;
- 哪些事件会直接冻结配对;
- 单配对和组合总风险分别是多少;
- 双腿不能同时成交时,系统如何处理。
配对交易的核心,不是找一组永远会回归的标的。市场没有这种标的。核心是建立一套机制,在关系破裂、价差发散、回归迟钝之前,及时识别并切断风险。
明日开盘前,先看ADF p值,再看滚动Z-Score,最后看半衰期有没有拉长;如果三项指标都在报警,就别再幻想自己抓到了便宜筹码。协整破裂时,市场不会因为你的回归模型写得漂亮而手下留情。逢失效不砍仓,所谓量化策略,最后只剩下一套自动化爆仓程序。
Related reading: 量化策略回测指标的虚与实:如何看穿超高收益率背后的陷阱.
