← 返回 Quant Digests · 站点首页

别把这份 2026 新 repo 只当 Binance testnet demo:对 short-cycle desk,更该先测的是「cointegration spread mean reversion × verify-and-retry 执行壳」这条 raw alpha——但源码当前有 sign / threshold 两处硬伤

更新时间:2026-04-06 07:21 UTC 研究时间:2026-04-06 07:18 UTC 类型:2026 GitHub 新 repo source audit(`README.md` + `qstrat/constants.py` + `qstrat/libs/stats.py` + `qstrat/libs/strategy.py` + `qstrat/backtesting.py` + `backtest_log.txt`)+ Binance Futures testnet 公共 `5m/15m` portability probe 主题标签:raw-alpha/pairs/stat-arb/relative-value/mean-reversion/cointegration/zscore/order-verification/drawdown-killswitch/binance-futures/testnet/eth-link/5m/15m/repo/public-data/cost/risk 证据类型:repo 工程证据(源码可读)+ 本地 portability probe

源文件:research/quant_digests/2026-04-06_0718_coint-shell-signbug-costcliff.md

> 先回答一句:这篇东西的 base alpha 是什么? > > base alpha = cointegration spread mean reversion > 但这轮真正值得 intake 的,不是把它当“又一条 pairs z-score”,而是把它看成一个开源、最近、带 execution / verification / drawdown shell 的 raw-alpha 工程底座。只是源码当前至少有 3 处硬伤:entry threshold 配置不一致、z-score 方向疑似写反、cointegration admission 过松,所以它现在更像“值得修的策略壳”,还不是能直接抄上线的成品。

1. 这次看了什么,为什么这轮值得写它

这轮主看:

  1. ssanin82 (2026). _strat-test-cointegration_. GitHub repository.
  1. Engle, R. F., & Granger, C. W. J. (1987). _Co-integration and Error Correction: Representation, Estimation, and Testing_. Econometrica.
  1. Gatev, E., Goetzmann, W. N., & Rouwenhorst, K. G. (2006). _Pairs Trading: Performance of a Relative-Value Arbitrage Rule_. Review of Financial Studies.

这轮值得写它,不是因为我们缺第 N 条 pairs 论文,而是因为它补的是一个当前很缺的东西:

2. 一句话核心结论 + 它是怎么证明的

一句话核心结论

这份 2026 repo 真正值得 desk intake 的,是「cointegration spread raw alpha + execution / verification / drawdown shell」这套完整骨架;但就当前源码状态看,直接照抄会把本该做 mean reversion 的东西,写成方向可疑、阈值混乱、成本后明显失血的半成品。

一句话它怎么证明

我这轮不是只看 README,而是直接交叉了:

翻成人话就是:

> repo 展示了“spread 会回”的影子,但当前开源实现还没把这点 edge 变成成本后能活下来的策略。

3. 这篇东西最值钱的 4 个点

3.1 base alpha 很清楚:就是 cointegration spread mean reversion,不是 filter,不是综述

这点先说死:

所以它不是 regime、不是 overlay,它本体就是 raw alpha

3.2 这份 repo 的真正价值,不是 pair 选择,而是 execution shell

它开源给出的可复用部分,反而比信号本身更值钱:

  1. verify-and-retry order shell
  1. drawdown kill-switch
  1. production/backtest 统一接口

也就是说,它最适合服务的是: > 把我们已经积累的一堆 pairs / stat-arb raw alpha,先包进一套最小可执行壳。

3.3 但源码审计的结论也很明确:当前实现有 3 处硬伤,不能直接抄

#### 硬伤 1:threshold 口径不一致

这不是小数点误差,这是交易频率和噪声暴露会差一个数量级的问题。

#### 硬伤 2:z-score 方向疑似写反

也就是: > 当前 repo 对正 z-score 的处理,更像“追 spread 扩张”,不是“赌 spread 回归”。

除非作者后面对 spread 定义另有反向语义,否则这就是一个必须先修的 sign 问题。

#### 硬伤 3:cointegration admission 太松 stats.py 里 admission 条件写的是:

p < 0.5 这种门槛,基本不够当 admission gate。对 short-cycle desk,更现实的做法至少应该是:

3.4 portability probe 给出的 desk 结论很现实:gross 有,但先别幻想 5m 直接上线

我补了一轮最小 transfer check,用的是:

先看事件层:

这说明 spread 回归 pocket 是有的

但一上最朴素的可交易骨架:

结果就很直接:

如果把 entry 拉到更保守的

这组数的含义非常清楚:

> 15m 明显比 5m 更接近“能活”的方向,但 naked z-score 本身还不够,必须靠更严 entry / 更强 admission / 更低成本 / 更少重试 才有机会。

4. 为什么和当前项目直接相关

它和当前项目的关系,不在于“我们还缺一篇 pairs digest”,而在于:

  1. 它补的是 runnable baseline,而不是纯概念。
  2. 它能服务至少 3 类现有 raw alpha:cointegration pairs、cluster residual MR、same-underlier relative-value MR。
  3. 它把工程问题暴露得很完整:方向映射、threshold 配置、admission 宽松、verification friction、cost cliff。

这正好适合当前 desk 的阶段:

4.5 策略拆解(必填)

5. 给 desk 的最小可落地版本

如果只想把这份 repo 变成 desk 可用的第一版,不要直接照抄,先做这 6 个修正:

  1. 修正 sign
  1. 把 threshold 拉回正常区间
  1. 重写 admission
  1. 先从 15m 开始,不先上 5m
  1. 保留 repo 的 execution shell
  1. 显式记账 retry cost / maker-taker cost / slippage

6. 下一步怎么测(这轮最重要)

6.1 先测什么

做一个最小 A/B/C:

  1. A = corrected-sign baseline
  1. B = A + stricter admission
  1. C = B + repo execution shell

6.2 最小实验口径

6.3 第一轮最该看什么结果

这轮别问“最终收益最大化”,先回答 4 个问题:

  1. 修正 sign 以后,gross 是否显著改善?
  2. 15m 3σ 能不能在合理 fee 下接近 break-even / 小幅转正?
  3. verification / retry 到底是在救策略,还是在扩大 friction?
  4. pair admission 做严格以后,trade count 下降多少、单位交易 edge 提升多少?

7. 先别自嗨的风险

  1. repo 自带 backtest 样本太薄。 backtest_log.txt 里只完成了 1 笔完整交易,不能把 +236.83 USDT 当成有效验证。
  2. 当前源码存在实现歧义。 threshold、sign、admission 三块都需要先审再跑。
  3. ETH/LINK 只是单 pair。 它可以当 smoke test,但不能代表 pair book。
  4. testnet mark price 不等于真实可成交价格。 实盘里只会比这里更贵,不会更便宜。

8. 这轮最值得记住的 desk 化结论

如果只记一句:

> 这份 2026 新 repo 值得 intake 的不是“ETH/LINK 圣杯”,而是 cointegration raw alpha + execution shell 这套可修底座;但就当前源码和 portability probe 看,先修 sign / threshold / admission,再谈上线。

再补一句更贴当前短周期:

> 第一轮别上 5m,先拿 15m 做 corrected-sign + stricter-admission 的最小实验;5m 目前更像成本压力测试,不像主战场。

9. 来源

  1. ssanin82 (2026). _strat-test-cointegration_. GitHub repository.
  1. Engle, R. F., & Granger, C. W. J. (1987). _Co-integration and Error Correction: Representation, Estimation, and Testing_. Econometrica, 55(2), 251–276.
  1. Gatev, E., Goetzmann, W. N., & Rouwenhorst, K. G. (2006). _Pairs Trading: Performance of a Relative-Value Arbitrage Rule_. Review of Financial Studies, 19(3), 797–827.
  1. Binance Futures testnet public markPriceKlines(本轮 portability probe)