← 返回 Quant Digests · 站点首页

别把这个 2025 `Crypto_Stat-Arb_HFT_Model` 仓只读成“又一个配对回归 demo”:对 short-cycle crypto desk,更该先拆的是「microprice spread fade × order-book imbalance veto」这条完整 raw alpha 壳

更新时间:2026-04-25 21:24 UTC 研究时间:2026-04-25 21:28 UTC 类型:GitHub / repo 主题标签:raw-alpha / pairs / stat-arb / relative-value / mean-reversion / microstructure / microprice / order-book-imbalance / spread-zscore / 1m / 3m / 5m / 15m / repo / public-data / cost / risk 证据类型:工程源码审计 + public-data portability probe

源文件:research/quant_digests/2026-04-25_2128_microprice-spreadfade-obi-veto-shell.md

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

base alpha 不是 OBI,也不是微价格本身。 它的 alpha 本体是:pair spread overextension mean reversion

更直白地说:

所以它属于:

2. 这次看了什么

这次看的是 2025 GitHub repo:SamarthChaudhary-22 / Crypto_Stat-Arb_HFT_Model

repo 不算学术化,也谈不上工程成熟,但优点是壳非常完整

  1. data_loader.py:拉 Binance USDⓈ-M 1m K 线;
  2. analyzer.py:先做相关性 + OLS + ADF + half-life,筛 pair;
  3. book_recorder.py:抓 top-5 depth,算 obimicro_price
  4. main.cpp:实时算 spread z-score,用 OBI 做 admission,再下单;
  5. RiskEngine:单仓亏损阈值 + 全局 kill switch。

这就是它比很多“只有 notebook 没有交易壳”的 repo 更值得 intake 的地方。

3. 一句话核心结论

一句话核心结论:这仓真正值得 desk 借的,不是“协整检测”本身,而是把一条朴素的 spread fade,往前推进成了可直接部署的短周期完整策略壳:pair admission -> spread signal -> OBI veto -> sizing -> exit -> kill switch

4. 它是怎么证明这件事的

一句话说明它怎么证明:不是靠论文统计表,而是靠一套可读源码把研究、筛选、实时信号、执行和风控串成了完整流程;我又额外用 Binance 公共 1m 数据做了一个最小 portability probe,先确认这条 base alpha 最近是否还有“几分钟内回归”的形状。

5. repo 到底写了什么(拆成人话)

5.1 Pair admission:先别乱配

analyzer.py 的逻辑不是“看到两条线像就上”,而是:

这一步的意义很简单: 不是所有相关 pair 都值得做,得先筛出“真有回归 tendency”的 pair。

5.2 Alpha 本体:spread z-score fade

repo 在实盘里交易的是:

入场逻辑:

这就是最核心的 raw alpha。

5.3 它真正有意思的地方:不是裸 z-score,而是加了 microstructure veto

main.cpp 里不是直接拿 mid price,而是先算一个微价格(microprice)

weighted_price = (best_bid * ask_vol + best_ask * bid_vol) / (bid_vol + ask_vol)

直觉上,它是在问:

然后再算每条腿自己的盘口失衡:

repo 的 admission 是:

源码里的默认阈值:

换成人话就是: 只有当 spread 已经偏了,而且盘口短时力量也不反着你时,才让你进。

这层设计对短周期 desk 很重要,因为它解决的是:

也就是很多 pair fade 策略最常见的“看对均值、死于路径”的问题。

6. 为什么这篇对当前项目有价值

这仓和当前 momentum 项目有直接关系,不是因为它写得多漂亮,而是因为它补的是一个很清楚的缺口:

  1. 它是 raw alpha,不是纯解释文
  1. 它是完整策略壳,不只是信号片段
  1. 它能下沉到 1m / 3m / 5m,再向上映射到 15m
  1. 它比“又一篇普通 pair z-score 文”多了一层真正可研究的执行 veto

7. 我补做的最小 portability probe(诚实版)

为了不被 repo 的“实盘感”迷惑,我先只做了一个不带历史 OBI 的 base-alpha probe

数据与口径

核心结果

LINKUSDT / SOLUSDT

ENAUSDT / XRPUSDT

先怎么解读

这组结果说明三件事:

  1. base alpha 不是空壳:极端 spread 偏离后,后面几分钟确实更常往回走;
  2. 阈值越高,单位机会厚度越明显|z|>=3 明显比 |z|>=2 更像样;
  3. 这也正说明 OBI veto 有研究价值:如果 base alpha 只有几 bps 厚,那你更需要 admission 层把“最容易继续跑偏的 entry”踢掉。

但也要诚实:

8. 策略拆解(按可直接复现口径写)

Base alpha

Entry

Exit

Sizing

Risk

Cost

9. 最值得复用 / 借鉴的部分

如果把这仓当素材库,而不是当成可直接上线代码,最值得借的是这 5 件事:

  1. pair admission 和实盘执行是分开的
  1. spread 信号和 microstructure veto 是分层的
  1. microprice 比 mid 更适合短周期 entry 视角
  1. execution queue + risk engine 的架子是对的
  1. 它天然适合做 1m/3m 研究,再向 5m/15m 做 slower projection

10. 最小可复现实验怎么做

如果下一轮直接复现,我建议别一次把 HFT 壳全抄完,先做三个层次:

实验 A:只测 base alpha(最快)

实验 B:给 base alpha 加一个“伪 OBI”层

实验 C:再上真实 L2 admission

11. 下一步怎么测

下一步不要再泛泛地讲“pairs + microstructure 很有道理”,直接测这 4 件事:

  1. 先把 OBI 从“叙事层”拉到统计层
  1. |z|>=3 做成主样本,而不是默认 |z|>=2
  1. 做一版成本梯子
  1. 做 pair router,不做 always-on 全开

12. 风险与边界

13. 本地实验产物