← 返回 Quant Digests · 站点首页

别把这份 2026 Binance Futures HFT repo 只读成执行工程:对 short-cycle desk,更该先测的是「cointegration spread fade × microprice/OBI veto」这条完整 raw alpha

更新时间:2026-04-04 04:18 UTC 研究时间:2026-04-04 04:16 UTC 类型:2026 GitHub repo source audit(GitHub API metadata + `README.md` + `data_loader.py` + `analyzer.py` + `optimizer.py` + `fix_strategies.py` + `main.cpp` + `strategies.json`) 主题标签:raw-alpha / pairs / stat-arb / relative-value / mean-reversion / cointegration / microprice / order-book-imbalance / binance-futures / top-liquid-universe / zscore / 1m / 3m / 5m / 15m / repo / public-data / cost / risk 证据类型:repo(研究层 + 执行层都有)+ 代码参数细读 + GitHub API metadata

源文件:research/quant_digests/2026-04-04_0416_obi-microprice-pairs-shell-alpha.md

先回答 base alpha:这篇东西的 base alpha 很清楚,就是 cointegrated spread mean reversionmicroprice / OBI 不是 alpha 本体,而是一个“别在最差盘口状态硬追进去”的执行过滤层。也正因为 base alpha 能说清,它才配当本轮主 digest,而不是一篇泛泛的 microstructure 综述。

1. 这次看了什么

这轮主看的是一个 2026 年的新 repo:

  1. SamarthChaudhary-22 (2026), _Crypto_Stat-Arb_HFT_Model_
  1. 这份 repo 的结构很像我们 desk 真会用到的两层壳:

为什么这条线值得写?因为我们最近虽然已经积累了不少 pairs / stat-arb 素材,但很多材料要么偏论文、要么偏 dashboard、要么只讲 pair admission。这份 repo 的稀缺性在于:它把 raw alpha、entry/exit、执行 veto、风险熔断都放进了同一条链路里。

2. 这份 repo 真正值钱的不是“低延迟”,而是它把 raw alpha 和 execution veto 接起来了

先翻成人话:

> repo 真正可迁移的核心,不是“42 微秒 / 4~7ms RTT”这些工程口径,而是: > 1) 先在 liquid perp universe 里找会回归的 spread; > 2) 当 spread 偏离到极端 z-score 时做 fade; > 3) 但只有在盘口没有明显继续朝你不利方向失衡时才放行。

这和“纯配对回归”相比,多了一层很实用的 short-cycle desk 思维:

这条结构对 1m / 3m / 5m / 15m 都有意义,因为它把策略拆成了两个可以独立实验的部件:

3. 代码里能直接拿走的策略骨架

3.1 Universe 和原始数据口径

data_loader.py 直接定义了研究入口:

这点很关键:它不是拿一个小样本 pair 做漂亮故事,而是明确从可交易 universe出发。对于我们 desk,最容易移植的做法就是把这个 universe 缩成:

3.2 Pair admission 的硬门槛

analyzer.py 的筛选非常朴素但够实用:

也就是说,repo 的 admission 逻辑不是“看着像一对就上”,而是:

  1. 先要足够相关;
  2. 再跑 OLS hedge ratio;
  3. 再做 ADF;
  4. 最后要求 half-life 不要太慢。

对我们 desk,这条线最值得抄的不是具体数字,而是顺序:

> 先做“会不会回、回得够不够快”的 admission,再做 entry。

3.3 Entry / exit / stop 的 baseline 很清楚

optimizer.pymain.cpp 拼起来后,baseline 壳基本是:

而 live C++ 版本最后写死成:

这基本就是一个完整的 raw alpha baseline:

3.4 Microprice / OBI 这层,不该被误读成“另一条 alpha”

main.cpp 从 Binance !bookTicker 取:

然后构造:

这层逻辑最有意思的地方在于:它不是拿 OBI 来预测方向,而是用它给 spread fade 做 veto。

但代码里的阈值其实很温和:

对应到入场条件:

所以更准确的翻译不是“OBI 强确认”,而是:

> 别在盘口已经明显继续对你不利时,硬做这笔 spread fade。

这非常像我们 desk 该用的执行 veto,而不是主 alpha。

4. 这份 repo 为什么适合当前 desk,而不是继续围着旧 breakout / retest 内循环

因为它直接扩 raw alpha 素材池,而且还是一条能独立落地完整策略的 raw alpha:

尤其对当前 desk,价值在三点:

  1. raw alpha 清楚:spread mean reversion
  2. 执行组件清楚:microprice / OBI veto
  3. 最小实验很快:先不用 tick 级,把它压缩成 15m signal + 5m execution veto 就能先跑 baseline

也就是说,这一篇不是在补“pairs 的概念课”,而是在补:

> 如何把一个本来容易停留在论文层的 pairs alpha,变成 short-cycle 可执行组件。

5. 这份 repo 的最大问题:它给了完整思路,但 as-is 其实并不算干净可运行

这恰恰是这篇 digest 最值得记住的地方:思路值得抄,代码不能盲抄。

5.1 Pipeline 存在明显断裂

main.cpp 读取 strategies.json 时,期待字段有:

optimizer.py 默认输出的是:

也就是说:优化器输出和 live engine 读取字段不匹配。 repo 里额外放了一个 fix_strategies.py 去补 mean / std_dev,这说明作者自己也踩到了这条管线断点。

对我们 desk,这个 bug 的启发反而很实用:

> 不要把 pair selection、threshold optimization、live execution 混成一锅;三层产物要有明确 schema。

5.2 Research frequency 和 execution frequency 之间有“频率断层”

repo 的研究链路是:

这不是不能做,但有个很现实的问题:

所以这条线更适合 desk 的改法是:

而不是直接把 1h admission -> tick execution 原封不动搬过来。

5.3 当前输出 pair 里有不少“看起来不够 institutional”的组合

repo 自带的 strategies.json 里虽然吐出了 22 组候选,但很多 pair 很明显偏杂:

这不代表 alpha 一定没用,但说明:

6. desk 视角下,这条策略应该怎么拆

6.1 策略类型归类

6.2 完整落地版本该长什么样

如果把 repo 翻译成 desk 版,我会建议这样落:

7. 最小实验:先别做 tick 级幻觉,先做这 3 步

第一步:先验证 raw alpha,不带 OBI

先在 15m 上做一版干净 baseline:

目标不是做漂亮收益,而是先回答:

第二步:再把 OBI / microprice 当 veto 层加进去

如果 15m baseline 过关,再上 5m / 1m 的盘口层:

也就是说,这里要测的是:

> OBI 能不能把“同样的 spread fade”变得更能成交、更少挨打。

第三步:做 live paper,而不是直接 production

因为这类策略最容易在 paper 上好看、上线后死在:

所以最合理的下一步不是“马上实盘”,而是:

  1. 15m 历史 baseline
  2. 5m/1m live paper 执行 veto
  3. 最后才是 production sizing

8. 对 1m / 3m / 5m / 15m 的具体建议

9. 一句话结论

这份 2026 repo 最值得我们 desk 收进研究池的,不是“C++ HFT 引擎”这个表层,而是:

> cointegration spread mean reversion 这条 raw alpha,明确拆成 admission -> z-score entry/exit -> microprice/OBI veto -> kill switch 的完整策略壳。

它的优点是:raw alpha 清楚、组件齐、能快速做最小实验; 它的缺点也同样清楚:repo as-is 有 pipeline bug,pair universe 也偏脏,不能直接照搬。

但对当前 short-cycle desk,这恰好是好事:它不是要我们抄答案,而是给了一套很适合继续提纯成 production 组件的 raw alpha 母板。

10. 下一步怎么测(直接执行版)

  1. 先做主流腿基线池BTC/ETH/SOL/XRP/ADA/DOGE/LINK/LTC/BNB,滚动 30~60d 做 admission。
  2. 先跑纯 spread fade baseline15m 入场信号,显式扣双腿成本与 funding。
  3. 再测盘口 veto 增量:接 live bookTicker,比较“有 / 无 OBI veto”的:
  1. 最终只留下两类组件

Sources

  1. SamarthChaudhary-22 (2026), Crypto_Stat-Arb_HFT_Model, 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. Binance USDⓈ-M Futures public market data docs / endpoints used by repo (ticker/24hr, klines, !bookTicker, positionRisk).