← 返回 Quant Digests · 站点首页

别把这份今天新建的 CT-OS 仓库只读成“又一个 pairs 面板”:对 short-cycle desk,更该先拆的是「beta-corr gated pair admission × beta-weighted spread fade × asset-exclusivity guard」这条完整 raw alpha 壳

更新时间:2026-04-20 04:48 UTC 研究时间:2026-04-20 04:55 UTC 类型:2026 GitHub 新仓库 source audit(`README.md` + `auto_universe_sync.php` + `pair_scanner.php` + `functions.php` + `backtesting.php`)+ Binance USDⓈ-M `15m` public-data portability probe 主题标签:raw-alpha/pairs/stat-arb/relative-value/mean-reversion/beta-weighted/correlation-gate/asset-exclusivity/liquidity-guard/binance-perpetual/15m/5m/repo/public-data/cost/risk 证据类型:repo 工程证据 + 公共数据最小快检

源文件:research/quant_digests/2026-04-20_0455_betacorr-gated-betaweighted-futures-pairs-shell.md

1. 先把一句话说清楚:这篇东西的 base alpha 是什么?

> base alpha 不是“相关性高就买”,也不是“资金费率套利”。它的本体就是:pair 的相对错价回归。

更具体地说,这份 CT-OS 里最值得我们 intake 的,不是 Web 面板,也不是 Telegram/2FA/多用户管理,而是这一条完整的交易骨架:

  1. 先找高相关 pair
  2. 再要求 pair 通过 cointegration / beta 有效性检查
  3. 当 ratio / spread 的 z-score 偏离足够大时开仓
  4. beta 做两腿权重,不是裸 1:1
  5. 不允许同一资产同时出现在多笔 open pair 里
  6. 再叠加 liquidity / spike / cooldown / stale-data 等 veto。

所以它不是 filter,不是 overlay,也不是“又一个 pairs 教学 demo”。它本体就是:

> pairs / stat-arb / relative-value / mean-reversion raw alpha。

而且是更偏 production shell 的那种 raw alpha,不只是 paper 风格的单条价差回归。

---

2. 为什么这轮值得写它

最近这条线我们已经看过不少:

如果再写一篇“静态 z-score 开平仓”的 pairs 摘要,其实没什么意思。

这份今天新建的仓库真正补的,不是新的统计检验,而是:

> 把 pair alpha 从“研究脚本”往“可跑的 live OS”再推进半步。

它最有价值的不是 admission 方法本身有多先进,而是它把几件 production 常见但论文里经常拆开的东西连起来了:

对 short-cycle desk 来说,这种东西的意义很直接:

> 不是再教你“pairs 是什么”,而是提醒你:raw alpha 本体虽然还是 spread fade,但真正容易决定能不能落地的,是 admission + sizing + overlap governance。

---

3. 这份仓库到底给了什么

3.1 来源与元数据

3.2 README 里最关键的 4 句

README.md 直接把它定义成:

翻成人话:

> 它不是一个“只会给信号”的 notebook,而是把 discovery、signal、execution、monitoring、backtest 都摆出来了。

---

4. 源码里最值钱的不是“pair trading”,而是这几个 desk 化细节

4.1 auto_universe_sync.php:不是拍脑袋选 pair,而是先做 correlation universe

这个文件给了很明确的 universe 逻辑:

也就是说,这个仓库不是先固定几组 pair,而是:

> 先做“相关性发现 → 弱 pair 清退 → 强 pair 保留”的 pair admission 层。

这点很重要,因为很多 pairs 仓库都只给你:

但这里更接近 live universe manager。

4.2 pair_scanner.php:真正值得抄的是动态阈值 + overlap veto

pair_scanner.php 的交易入口不是裸 abs(z) > threshold,而是加了几层 production guard:

  1. pair 必须 active + cointegrated + beta>0
  2. 数据不能 stale(超过 1h 不做)
  3. 高相关 pair 放宽阈值
  1. 较低相关 pair 收紧阈值
  1. z-score 突然脏跳ΔZ > 1.2)直接跳过
  2. 如果某一腿资产已在 open trade 中,整组 pair 禁开
  3. 5 分钟 cooldown 防止刚平完又马上重开

这串逻辑其实比“协整 / OLS / z-score”本身更有 desk 价值,因为它回答的是:

> 同一个 raw alpha,怎么避免在 live 上因为重叠敞口、脏跳点、陈旧数据、pair 质量不稳定而把自己玩死。

4.3 functions.php:它不是 1:1 对冲,而是显式 beta-weighted sizing

这里最值得记的是两个函数:

核心口径:

也就是说它的 sizing 逻辑不是:

而是:

> 先用 beta 做相对对冲,再用 clamp 防止某一腿极端失衡。

这对 perp desk 很实用,因为很多 crypto pair 的波动弹性差很多。裸 1:1 很容易把“看起来 market-neutral”的 trade 做成事实上的 directional bet。

4.4 backtesting.php:虽然回测口径还粗,但它至少给了完整策略表面

backtesting.php 暴露出来的是一整套 production-friendly 参数:

而且它的回测逻辑不只做 TP,也做:

虽然它的统计口径仍然比较粗糙(更像 panel backtest,不像严谨研究回测),但至少说明:

> 这份仓库提供的不是“研究想法”,而是一整条可落成 baseline 的参数骨架。

---

5. 这份仓库最值得我们保留的“旁支想法”是什么

如果只把 CT-OS 总结成“高相关 pair 做 z-score 回归”,那就没必要写这篇了。

我认为它真正值得 desk 保留的是下面这条旁支,而且它仍然服务于 raw alpha 本体:

> beta-corr gated pair admission × beta-weighted spread fade × asset exclusivity

拆开就是:

5.1 它服务的 raw alpha 仍然是 pair mean reversion

alpha 本体没变,还是:

5.2 但它给 alpha 多加了一层“能活下来的治理外壳”

这层治理外壳不是 generic risk overlay,而是和 alpha 强耦合的:

也就是说:

> 它不是把 raw alpha 改成 filter,而是把 filter / veto 直接镶进 raw alpha 的 admission 与 execution。

这很适合我们当前 desk,因为最近 pairs 线已经不缺“怎么找 spread”,更缺“怎么把 pair book 管得不像事故现场”。

---

6. 最小可复现实验:这轮我怎么做的

6.1 数据源、公开性、更新频率

6.2 我这轮映射的 CT-OS 口径

为了做 repo portability probe,我写了一个最小实验脚本:

映射规则如下:

  1. pair admission: train 段 return corr >= 0.85
  2. beta: train 段 return beta,要求 beta > 0
  3. signal: ratio = A / B,用 train 段均值/方差做 z-score
  4. dynamic threshold:
  1. dirty spike veto: |ΔZ| > 1.2 不开
  2. exit: |z| <= 0.5|z| >= 3.5hold >= 32
  3. sizing: beta-weighted,并把 weight_a clamp 到 [0.30, 0.70]
  4. portfolio shell: 不允许同一资产同时出现在两笔 open pair 中(asset exclusivity)
  5. cost ladder: 双边 4 / 8 / 12 bps

注意:

---

7. 这轮最值得记住的 5 个数据点

来自:

7.1 在 12 个 liquid majors 里,按 CT-OS 风格 admission,最近窗口只有 6 组 pair 过门槛

也就是说:

> 如果你真把 corr>=0.85 + beta>0 当 live admission,而不是“看起来像就交易”,当下可交易 pair 数并不多。

这反而是好事:它说明这套壳天然偏 selective,不是满天撒网式 pair spam。

7.2 单 pair 层面,ETHUSDT-SOLUSDT 是这轮最像“能活下来的主 pair”

最近样本结果:

翻成人话:

> 这类高 beta、强共振 majors pair,在 15m 上还能留下正的成本后空间,但交易数不多,持仓也不短。

所以它更像“慢一点的 short-cycle pair book 核心腿”,不是 ultra-HFT 信号。

7.3 BTCUSDT-ETHUSDT 也能过,但信号稀疏

结果:

这说明:

> 最经典的 majors pair 不一定差,但往往问题不是胜率,而是密度太低。

7.4 高频 pair 不等于好 pair:XRPUSDT-LINKUSDT 毛收益为正,但一扣成本就翻负

结果:

这正好给了一个很实用的 desk 教训:

> CT-OS 这类 shell 的真风险,不在于“回归失效”,而在于 signal density 一高,毛边会被成本吃光。

7.5 组合壳层面,asset exclusivity 很有意义:4bps 还能活,8bps 就不行

在“同一资产不能同时占多笔 pair” 的组合壳下:

这说明两个事:

  1. asset exclusivity 没把 edge 毁掉
  2. 但策略对成本极敏感,taker-heavy 情况下很容易转负。

所以这条线如果要继续做,关键已经不是“有没有 alpha”,而是:

> 能不能把 execution 做成 maker-first / selective-taker,或者进一步压缩无效 high-turnover pair。

---

8. 这条东西对当前 desk 的真正价值

8.1 它补的是“完整 pair book 壳”,不是再补一篇统计检验论文

当前项目对 pairs / stat-arb 的研究已经不少,但大部分更偏:

CT-OS 这份仓库更稀缺的点是:

> 它把“pair 是什么”之后那一层——book overlap、beta 权重、dirty spike、liquidity veto、cooldown——也一起暴露出来了。

8.2 它对 5m / 15m 的迁移非常自然

最自然的 desk 版本其实是:

也就是说它不是低频壳,而是非常适合做:

> 慢 admission + 快 execution

8.3 它不是只适合 pairs,本质上还是 relative-value book governance 模板

这套东西以后还可以迁移到:

因为它抽象出来的其实是:

这是一种 shared execution governance pattern,但它服务的依然是 raw alpha 本体。

---

9. 风险与保留意见

9.1 仓库的统计链路并不完全一致

README 说的是 stat-arb / cointegration / beta correlation; auto_universe_sync.php 主要做的是 correlation discovery + ratio z-score + beta; pair_scanner.php 又要求数据库里 is_cointegrated = 1

说明什么?

> 这套系统很可能依赖仓库中未完整展示的额外 cron / DB 流程来补 cointegration 标记。

所以别把它直接当 paper-faithful 统计实现,更适合当工程壳来吸收。

9.2 backtesting.php 的回测比较粗

它有完整参数表面,但:

所以它给我们的价值主要是:

而不是直接给可信收益表。

9.3 成本是第一杀手

本轮 quick probe 已经很明显:

所以如果 desk 后续要真做这条:

> 执行质量比“再优化一点 z-score 参数”更重要。

9.4 asset exclusivity 是优点,也是容量上限

禁止同一资产在多个 pair 同时占用,确实能减少 hidden directional overlap; 但它也会把可扩张性压低。

所以它更适合:

不适合一开始就把 pair 数开很大。

---

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

10.1 先把 admission 拆成两层 A/B

看哪种顺序在当前 Binance perp majors 上:

10.2 把 asset exclusivity 做成可调 governor

直接测三档:

  1. strict:同资产绝对不可重叠
  2. sector-aware:允许弱相关 pair overlap
  3. gross-cap:允许 overlap,但限制 per-asset gross notional

这一步很关键,因为它决定 pair book 的容量上限。

10.3 做 maker-first / taker-fallback execution probe

当前 8bps 已经明显吃不消,下一步别再先卷信号,先测:

如果这个环节做不出来,alpha 再漂亮也没用。

10.4 把 CT-OS 的 dirty spike veto 系统化

本轮只用了 |ΔZ| > 1.2 的简单 veto。 下一步建议加:

10.5 把 beta weight clamp 做成可学习参数

现在仓库风格是把 weight_a clamp 到 [0.30, 0.70]。 下一步可以做:

看在:

之间谁更平衡。

---

11. 结论(一句话版)

> CT-OS 这份今天新建的仓库,不值得我们再把它读成“pairs 回归老故事”;它更该被保留成一条 production-minded raw alpha shell:beta-corr gated pair admission × beta-weighted spread fade × asset exclusivity guard。最近 Binance 15m quick probe 也说明,这套壳不是没边,但高度成本敏感——真正该优先补的不是更多 pair,而是 overlap 治理与低成本执行。

---

12. 来源

  1. cryptoteamgr / cryptoteam.gr (2026). _CT-OS_ (GitHub repository).
  1. CT-OS README
  1. CT-OS source files
  1. Binance USDⓈ-M Futures API — Kline/Candlestick Data

---

13. 本地产物