← 返回 Quant Digests · 站点首页

别把这份 Cartea-Jaimungal pairs repo 只当 textbook 复刻:对 desk 更该先测的是「OU half-life gate × wide-band spread MR」raw alpha

更新时间:2026-04-01 04:30 UTC 研究时间:2026-04-01 04:28 UTC 类型:raw alpha 主题标签:raw-alpha/pairs/stat-arb/relative-value/mean-reversion/cointegration/ou/optimal-stopping/band-widening/half-life-gate/threshold-governance/binance/perpetual/5m/15m/1m/3m/repo/book/public-data/cost 证据类型:2025/2026 GitHub repo source audit(`README.md` + `band_calc.py` + `backtest.py` + `config.json` + `run_and_rank.py`)+ Cartea/Jaimungal 经典 co-integrated assets 文献锚点 + Binance `5m` 本地 threshold-transfer quick check

源文件:research/quant_digests/2026-04-01_0428_ou-halflife-wideband-pairs-alpha.md

1. 这次看了什么

这次主材料不是新论文,而是一份 2025-12 创建、2026-01 更新 的新 repo:

表面看它只是把教科书里的 pairs trading 代码化,但对我们 desk 真正有价值的,不是“又一个 cointegration spread 回归”,而是它把下面这条链条连完整了:

  1. spread 不是只看 z-score,而是先估 OU;
  2. entry band 不是拍脑袋定 1σ / 2σ,而是显式把交易成本塞进 band 计算;
  3. 不是所有 stationary spread 都值得做,half-life 太慢、beta 太离谱、band 太窄,都该直接 veto;
  4. pairs 的 base alpha 仍然是 raw alpha,但能不能落地,主要卡在 half-life × threshold × cost 这三个旋钮上。

它和我们最近那批 pairs digest 的区别在于:

2. 先回答:这篇东西的 base alpha 是什么?

一句话:

base alpha = 两个近 cointegrated 资产的 beta-hedged spread 偏离均衡后,向长期均值回归;在 spread 足够偏、且回复速度足够快时做反向收敛。

所以它是标准的:

不是 filter,不是 overlay,不是纯解释型材料。

如果把 repo 里那层 OU / optimal stopping 数学全拿掉,raw alpha 本体仍然成立;但如果不把 band wideninghalf-life gate 写进去,实盘上通常会被过度交易和成本吞掉。

3. 这份 repo 最值得 desk 抄的到底是什么

3.1 band_calc.py 的重点不是“数学更高级”,而是 band 要对 cost 有反应

repo 在 band_calc.py 里不是简单用固定 k * std 设阈值,而是:

翻成人话:

> band 不是固定参数,而是“回复速度、波动、成本”共同决定的 admission hurdle。

这比很多 short-cycle pairs repo 诚实,因为后者往往默认:

而这份 repo 的做法更像:

3.2 backtest.py 的骨架足够完整,已经不是“只会画 z-score 图”

repo 的交易状态机很直接:

它没有把仓位管理做得很复杂,但这反而适合 desk intake,因为你能清楚拆出:

也就是说,它已经是一个完整策略骨架,不只是“信号候选”。

3.3 run_and_rank.py 的意义:先在全市场找“可交易 pair 供给”,再谈单对优化

repo 支持:

这点对 desk 很重要,因为 pairs 不是单一 alpha,而是供给池

所以真正该测的,不只是某一对,而是:

> 在给定频率、给定成本下,市场里有多少对 pair 能稳定供给正 alpha?

4. desk 角度的核心判断:别把“optimal stopping”当主角

这次最值得带走的不是“我也要马上把 free-boundary 数值解搬进主线”。

更重要的,是先把它读成一句更朴素的话:

> short-cycle pairs 最怕的不是没偏离,而是 band 太窄、回复太慢、交易太勤。

所以对我们更有价值的,不是 headline 里的 optimal stopping 四个字,而是它隐含的三条策略纪律:

  1. 只做回复快的 spread(half-life gate)
  2. 只做偏离足够深的 spread(wide-band admission)
  3. band 必须随成本变宽,而不是固定死

这三条都能直接迁移到 1m / 3m / 5m / 15m 的最小实验里。

5. 本地最小 quick check:我没有硬复刻 free-boundary solver,而是先测它最关键的 desk 含义

5.1 数据与口径

为了避免把 repo 的日频回测结果硬搬成结论,我做了一个更小、更快的 5m transfer check:

注意:

5.2 结果一:1σ 真的太窄,均值上直接变负

在 one-way 6 bps 成本下,对全部 28 对 pair 做 threshold sweep:

这行结果非常值钱,因为它几乎把 repo 的核心直觉用最小实验复读了一遍:

> 窄 band 会把你推向高频噪声交易,而不是更高 edge。

5.3 结果二:band 放宽到 2.5σ 左右,平均结果反而最好

同样是一批数据、同一套 pairs proxy,在 one-way 6 bps 下:

也就是说:

5.4 结果三:half-life 确实不该只是报表字段

这批最靠前 pair 的 median half-life 大多在:

这正好落在我们能接受的短周期回复速度区间里。

翻成人话:

5.5 结果四:成本上去以后,宽 band 还没立刻死,但别高兴太早

在 one-way 10 bps 的更重成本假设下:

这看起来还活着,但这里必须诚实:

  1. 样本只有约 5.2 天,太短;
  2. 没有 maker/taker 混合、滑点、资金费、冲击成本;
  3. 只做了最小 package proxy,没有盘口成交约束。

所以正确结论不是“这就能直接实盘”,而是:

> 这条线至少证明了:把 band 放宽、把回复速度写进 gate,并不是纸上谈兵;在极简 5m proxy 里它确实改善了可交易性。

6. 这条主题为什么值得进当前素材池

因为它不是单纯再写一遍 pairs 教科书,而是刚好补到当前 desk 最缺的那块:

6.1 它补的是 threshold governance / admission logic,不是又一个 signal 壳

pairs 的 alpha 本体我们已经有很多变体:

但真正上线最容易出事的,是:

这份 repo 给的价值,就是把这三个问题拎出来做成显式组件。

6.2 它对 1m / 3m / 5m / 15m 都有可迁移意义

所以它不是只能服务一条慢频线,而是可以拆成:

7. 如果要把它变成完整 desk 策略,我会怎么写

7.1 Entry

7.2 Exit

7.3 Sizing

7.4 Risk

7.5 Cost

8. 下一步怎么测

必做 1:把 repo 的 free-boundary band 真正搬到 intraday proxy

这轮我只测了它的策略含义,下一轮该测它的数值实现是否真的优于固定阈值

必做 2:把样本拉长到至少 90d ~ 365d

这次 15005m 只是最小 transfer check,太短。

下一轮至少做:

必做 3:把 pair availability 当成时间序列来测

不要只问“哪一对最好”,要问:

必做 4:加入 in-trade structure break kill-switch

如果下一轮只做 mean-cross exit,结论会偏乐观。

至少要补:

9. 最终判断

结论

值得进入研究池,而且优先级不低。

但它值得进入的原因,不是“optimal stopping 很 fancy”,而是:

  1. base alpha 清楚:就是 cointegration spread mean reversion;
  2. 能独立落地成完整策略:entry / exit / sizing / risk / cost 都能写出来;
  3. 这轮本地 5m proxy 已经给出可迁移信号:宽 band + half-life gate 比窄 band 更像活的东西;
  4. 它补的是当前 pairs 线最容易被忽略的 admission 纪律,而不是重复造一个 signal 名词。

当前归类

10. 来源与落地文件

主要来源

  1. djienne (repo created 2025-12-27, pushed 2026-01-05). _pair_trading_cartea_jaimungal_penalva_. GitHub repository.
  1. Álvaro Cartea, Sebastian Jaimungal (2015). _Algorithmic Trading of Co-Integrated Assets_. SSRN Electronic Journal.
  1. Álvaro Cartea, Sebastian Jaimungal, José Penalva (2015). _Algorithmic and High-Frequency Trading_.

本地 artifacts