← 返回 Quant Digests · 站点首页

别把这份 2026 Binance stat-arb 仓只读成“相关性热力图”:对 short-cycle desk,更该先拆的是「correlation-ranked pair admission × ratio z-score spread fade」这条 raw alpha

更新时间:2026-04-17 22:28 UTC 研究时间:2026-04-17 22:26 UTC 类型:2026 GitHub repo source audit(`README.md` + `correlation_bot.py` + `phase1_data_fetch_correlation.py`)+ Binance USDⓈ-M public-data portability probe(`1m` / `5m`) 主题标签:raw-alpha / pairs / stat-arb / relative-value / mean-reversion / correlation-ranked / ratio-zscore / pair-admission / binance-perpetual / 1m / 5m / repo / public-data / cost / risk 证据类型:repo 源码 + public-data probe

源文件:research/quant_digests/2026-04-17_2226_correlationranked-ratio-zscore-pairs-alpha.md

1) 这次看了什么

先把 base alpha 说清楚:

> 不是“相关性高就能赚钱”,而是“先用相关性做 pair admission,再对 admitted pair 做 ratio 极端偏离的均值回归”。

所以它不是单纯 filter,也不是研究工具本身,而是一条标准的 pairs / relative-value / stat-arb / raw alpha

2) repo 里真正可继承的 alpha 是什么

2.1 用人话翻译源码

repo 的主逻辑很短,但交易本体很清楚:

  1. 先从 Binance Futures 拉历史 K 线;
  2. 挑出相关性高、平时比较同步的 pair;
  3. 对每个 pair 计算 ratio = price_A / price_B
  4. 用最近一段 ratio 的均值和标准差,算当前 z-score;
  5. z > 2 时,认为 A 相对 B 偏贵,做 short A / long B
  6. z < -2 时,认为 A 相对 B 偏便宜,做 long A / short B

correlation_bot.py 里最核心的几行其实就这三件事:

2.2 为什么它算 raw alpha,不是 filter

因为这里的信号本体就是:

也就是说:

这点很重要。很多“相关性仓”最后只是做了个监控面板,这个 repo 虽然简陋,但至少已经把开仓方向写死了: > 价比值偏高就 short rich leg / long cheap leg;偏低就反过来。

3) 对当前 desk 最有用的读法

如果只照 README 看,很容易把它当成“配对交易入门脚本”。

但对 short-cycle desk,更值钱的读法是:

> 把相关性当 pair admission 的最低成本近似,把 ratio z-score 当真正的 raw alpha,然后去问:在 1m / 5m 上,哪些 pair 还有 pocket,哪些 pair 其实已经被成本和结构变化吃死。

这比继续泛泛补一个“pairs 也许有用”的综述值钱得多,因为它直接回答:

4) repo 源码里值得保留、也值得警惕的部分

4.1 值得保留:公开数据、超低复现门槛

phase1_data_fetch_correlation.py 明确写了:

这对 desk 很友好:

4.2 值得警惕:repo 只写了“看见偏离”,没把完整壳写完

repo 给了很清楚的 entry 语言,但几乎没写:

所以它是 合格的 raw alpha 母板,但不是现成 production 成品。

不过本轮我仍把“是否可直接落地完整策略”标成 ,原因不是 repo 自己已经完美,而是:

5) 最小可复现实验(本轮已跑)

数据源

Pair universe

沿用 repo 默认/近似默认风格,测试:

Baseline 规则

最基础版本,先不加 fancy 模块:

6) 关键数据点:baseline 能复现,但大多数 pair 已经不够好

结论 1:plain correlation-first spread fade 在 5m 上基本全面不过线

按 pair 看,5m baseline 全是负的:

人话: > “相关 pair 出现 2σ 偏离就做回归” 这件事,在 recent 5m perp 上几乎是全军覆没。

结论 2:1m 上也不是普遍有效,但 pocket 开始出现

1m baseline 同样大多为负:

ARB/OP 明显是例外中的例外:

这说明: > 不是整条 alpha 完全死掉,而是 baseline 阈值太松,只有某些“强替代关系” pair 还保留了 pocket。

结论 3:ARB/OP 在更严格的 触发下,已经能转成小幅正值

我对 ARB/OP 1m 做了参数快扫。最有信息量的 pocket 是:

结果:

这不是“已经 production-ready 印钞”,但已经足够说明:

结论 4:5m 口径里,连最好的 pair 也还只是接近成本线

同样对 ARB/OP 5m 做参数快扫,最好的几组也仍是负的:

这说明一个很关键的 desk 结论: > 这条 correlation-ranked spread fade 目前更像 1m pocket,不像 5m 主战 alpha。

7) 这条线和当前 1m / 3m / 5m / 15m 的关系

8) 为什么这条主题比继续补一个 filter 更值得

因为它直接扩充的是 raw alpha 素材池,而且补的是当前 desk 仍然需要的 pairs / stat-arb / relative-value 母板:

  1. base alpha 清楚:不是泛泛“相关性研究”,而是 ratio extreme → mean reversion
  2. 公开数据就能复现:不依赖私有盘口或付费数据;
  3. 很适合快速做 fail-fast:几小时内就能知道某个 pair 有没有 pocket;
  4. 能直接服务 execution 研究:双腿成本、同步成交、单腿失配、持仓上限,全部都是真实工程问题。

9) 今天就能怎么写成完整策略壳

9.1 Entry

最小 production shell 建议:

  1. 先用过去 N 根 return correlation 做 pair admission;
  2. 只保留 correlation 高、rolling beta 稳定、成交额合格的 pair;
  3. 再对 admitted pair 计算 ratio z-score;
  4. 只有满足以下条件才进场:

9.2 Exit

至少并行保留三种退出:

9.3 Sizing

不要做 1:1 名义金额无脑对冲,建议:

9.4 Cost

这条线最容易被忽略、也最容易死在这里:

所以所有回测都要至少输出:

10) 下一步怎么测(最重要)

A. 不要再把“高相关”当充分条件,先做 pair admission 升级

优先加三层:

  1. rolling correlation + rolling beta 稳定性
  2. 行业/叙事相近性(例如 ARB/OP 这种强替代关系);
  3. 成交额 / 盘口厚度门槛

B. 先专攻 ARB/OP 1m,别急着横向铺太多 pair

下一轮最小实验建议直接围绕:

C. 把它和已有 raw alpha 组件串起来,而不是孤立裸跑

最值得组合的不是另一个 pairs 指标,而是:

D. 明确 desk 当前结论

这轮最该记住的一句不是“pairs 失效了”,而是: > plain correlation-first z-score fade 基线大多已经成本后不过线,但替代关系更强的 pair(当前最像 ARB/OP)在 1m 高频口径里,仍可能留下只有极端偏离才值得做的 pocket。

11) 风险与保留意见

12) 来源

  1. ApexQuant-Dev (2026), *Binance Correlation & Stat-Arb Suite*(GitHub repo)
  2. Repo URL: <https://github.com/ApexQuant-Dev/binance-correlation-stat-arb>

  3. README raw: <https://raw.githubusercontent.com/ApexQuant-Dev/binance-correlation-stat-arb/main/README.md>
  4. correlation_bot.py: <https://raw.githubusercontent.com/ApexQuant-Dev/binance-correlation-stat-arb/main/correlation_bot.py>
  5. phase1_data_fetch_correlation.py: <https://raw.githubusercontent.com/ApexQuant-Dev/binance-correlation-stat-arb/main/phase1_data_fetch_correlation.py>
  6. Binance USDⓈ-M Futures Klines API(public): <https://fapi.binance.com/fapi/v1/klines>