← 返回 Quant Digests · 站点首页

别把这份 2025/2026 Binance 1m Engle-Granger 仓库只当 pairs 作业:对 short-cycle desk,更该先测的是「15d/5d walk-forward pair admission × spread z-score mean reversion」完整 raw alpha

更新时间:2026-04-04 06:47 UTC 研究时间:2026-04-04 06:41 UTC 类型:2025/2026 GitHub repo source audit(GitHub API metadata + `README.md` + `pairs_finder01.py` + `backtesting_01.py` + `pairs_summary.csv` + `trading_bot01.py`)+ Binance USDⓈ-M 公共 `3m/5m/15m` 最小可移植性快检 主题标签:raw-alpha/pairs/stat-arb/relative-value/mean-reversion/cointegration/engle-granger/walk-forward/pair-admission/zscore/binance-futures/1m/3m/5m/15m/repo/public-data/cost/risk 证据类型:仓库工程证据 + 公共数据快检

源文件:research/quant_digests/2026-04-04_0641_binance-1m-walkforward-engle-granger-pairs-alpha.md

1. 这次看了什么

先回答这轮最关键的一句:

> 这篇东西的 base alpha 是什么? > > 答:是 pairs / stat-arb 的 spread 均值回归 raw alpha。

但这份 repo 真正值得 intake 的,不只是“两个币价差偏离再回归”这句老话,而是它把 选对、再训练、再下 z-score 单 这三步串成了一条可复现的短周期骨架:

一句话结论:

> 这份仓库最值得 desk 先抄的,不是“又一个 pair z-score”,而是 walk-forward pair admission → intraday spread trade 这层完整 raw alpha 操作系统。

2. 核心结论(给 desk 的可执行信息)

2.1 为什么它不是普通教学仓

仓库作者 abbbbbv 的 repo pairs_trading_cointegration-(创建于 2025-11-15,最近更新 2026-01-21)把 4 件平时经常被拆开的事放进一条链:

  1. pair admission:不是先拍脑袋定 pair,而是 rolling Engle-Granger 扫描全池;
  2. walk-forward refit:不是一组 beta 用到底,而是 15 天训练 / 5 天测试 滚动重估;
  3. signal trading|z| > entry 开仓,|z| < exit 平仓;
  4. live bridge:把最新 alpha / beta / threshold / risk_pct 填进 bot。

这和单纯“静态 pair + 固定 z-score 回测”不一样:

> alpha 本体不是单独某个 pair,而是“pair admission + spread MR execution”联立后的完整 raw alpha。

2.2 仓库里真正有用的参数骨架

backtesting_01.py 里给出的核心壳子很清楚:

trading_bot01.py 直接给了 live shortlist:

这说明作者自己也不是把所有 pair 用同一门槛硬跑,而是已经在做 pair-specific thresholding

2.3 pairs_summary.csv 给出的 shortlist 线索

仓库自带的 pairs_summary.csv 虽然不是收益表,但它至少给了 stability + signal density 两类 admission 信息:

这里最重要的不是“哪一对第一名”,而是:

> 它把 pair ranking 的标准从“看上去像”变成了“训练窗稳定性 + 测试窗激活密度”。

这正是我们 desk 当前更需要的 admission layer。

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

当前 bot7 的主目标不是围绕固定形态内循环,而是持续补充 可独立复现、可直接落地、适合 1m/3m/5m/15m 的 raw alpha 素材池

这份 repo 值得选,不是因为它“新奇”,而是因为它刚好补了一个很实用的缺口:

如果要回答“它为什么比继续补一个泛化 filter 更值得”,答案很简单:

> 因为它本身就是 raw alpha,而且是完整策略链,不是二层修饰件。

3.5 策略拆解(必填)

4. 最小可复现实验(这轮已给到可跑口径)

4.1 本轮公共数据快检口径

我额外用 Binance USDⓈ-M 公共 kline,对 repo live bot 里两组 pair 做了一个 不依赖私有环境 的最小 portability probe:

4.2 本轮 4 个关键数据点

  1. TRB-FIL 在最近样本里仍是可激活 pair,不只是 repo 旧结果。
  1. IOTA-ONE 在最近样本里的回复更快。
  1. 降到更快周期后,信号密度明显上升。
  1. 这不是“越快越好”,反而提示成本断崖。

4.3 这轮快检的 desk 解读

最保守的解读应该是:

5. 下一步怎么测(直接可执行)

  1. 先重写成真正的两腿 PnL 回测,而不是 spread synthetic price。
  1. 把 pair admission 独立成一层。
  1. 做 cost ladder。
  1. 做 pair-specific threshold bucket。
  1. 加 portfolio shell,但不要急着上多对。

6. 风险与保留意见

7. 来源

  1. abbbbbv (2025/2026). _pairs_trading_cointegration-_ (GitHub repository).
  1. Engle, Robert F., & Granger, Clive W. J. (1987). _Co-integration and Error Correction: Representation, Estimation, and Testing_. Econometrica.
  1. Binance USDⓈ-M Futures API — Kline/Candlestick Data.

8. 本地产物