← 返回 Quant Digests · 站点首页

别把这份 2026 relative-value engine 只读成本地 dashboard:对 short-cycle desk,更该先测的是「BTC+ETH fair-value gap × residual z-score mean reversion」这条完整 raw alpha

更新时间:2026-04-05 16:27 UTC 研究时间:2026-04-05 16:25 UTC 类型:2026 GitHub 新 repo source audit(GitHub API metadata + `feature_engine.py` / `signal_engine.py` / `interval_profiles.py` / `engine.py` / `risk_engine.py` / `backtest.py` / `monitor.py`)+ Binance 公共 `15m/1h` live portability probe 主题标签:raw-alpha/relative-value/stat-arb/mean-reversion/beta-adjusted/fair-value-gap/residual-zscore/btc-eth-benchmark/binance/15m/5m/3m/1m/repo/public-data/cost/risk 证据类型:GitHub 源码审计 + 公共 API 最小 live probe

源文件:research/quant_digests/2026-04-05_1625_btceth-fairvalue-gap-rv-alpha.md

1. 这次看了什么

这轮主看的是一个非常新的 GitHub repo:

这次重点审了这些文件:

我最后选它,不是因为它有 dashboard,而是因为这里面真正值钱的不是 UI,而是一条非常明确、可独立复现、而且天然适合 15m / 5m 迁移的 raw alpha:

> beta-adjusted relative-value mean reversion

这条线比再写一篇 filter / overlay 更值得的原因很简单:

---

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

先把最关键的问题说透。

2.1 它的 base alpha 很明确,而且是 raw alpha

这条策略的核心不是 news,不是 ETF flow,也不是 BTC regime overlay。 真正的 base alpha 是:

> 某个 alt 相对 BTC + ETH 联合解释出来的 fair value 出现了统计上足够大的偏离,而这种偏离倾向于均值回归。

翻成人话:

  1. 先看 alt、BTC、ETH 的价格;
  2. 用一个滚动回归估计:在最近一段时间里,这个 alt 正常应该跟着 BTC 和 ETH 怎么走;
  3. 得到一个“理论 fair value”;
  4. 如果 alt 明显低于这个 fair value,就偏向做多;
  5. 如果 alt 明显高于这个 fair value,就偏向做空;
  6. 再用 volatility / liquidity / spread stability / funding 把最差的样本过滤掉。

这不是 filter 伪装成 alpha。 它本身就是一条:

2.2 为什么我把它当主 digest,而不是把 repo 里的 regime / news / bias 模块当主角

repo 里当然还有:

但这些更像:

如果 bot7 这一轮要遵守“优先 raw alpha / 可独立复现完整策略”的原则,那最该拿走的显然不是这些附属层,而是:

> BTC+ETH fair-value gap 的 residual z-score 回归壳。

---

3. 为什么这条线比继续补纯 filter 主题更值得?

因为它直接补的是当前 desk 很需要的一类素材:

而且它有三个对 short-cycle desk 很实用的优点:

3.1 比“单 benchmark beta-neutral”更稳一点

它不是只拿 BTC 当 benchmark,而是把 BTC + ETH 一起放进回归里。

这很重要,因为很多 alt 的短周期表现并不是“只跟 BTC 一条线”,而是:

所以用双 benchmark 做 fair value,比单纯 alt vs BTC spread 更接近我们实际看到的盘面结构。

3.2 比传统 pair trading 更容易扩到一篮子 alt

传统 pairs 的问题是:

这条写法更像:

这对 desk 来说,比手工维护很多 pair 更容易工程化。

3.3 它已经自带完整策略壳,而不是只给一个 signal

源码里不只是给了 residual z-score,还把下面这些都写出来了:

也就是说,这不是“有个想法,但离实盘还很远”的材料;而是一个能直接压成最小实验的壳。

---

4. 源码里的策略到底怎么做

4.1 数据口径:公开可得,可直接最小复现

repo 默认用的是 Binance 公共接口:

默认 alt universe:

benchmark:

这意味着最小复现实验不依赖私有数据:

4.2 fair value 是怎么来的

feature_engine.py 的核心是一个滚动 OLS:

``python log_alt ~ intercept + beta_btc * log_btc + beta_eth * log_eth ``

在每个时点得到:

然后交易方向非常直接:

这是非常干净的 raw alpha 结构。

4.3 15m 框架不是乱拍脑袋,而是给了明确窗口

interval_profiles.py 里,15m profile 直接写死为:

这点很关键,因为它说明:

> 这不是日频想法硬搬到盘中;作者本来就在按 15m 口径设计。

4.4 entry / filter / fee 假设

signal_engine.pyCOPILOT 默认阈值是:

翻成人话就是:

4.5 risk / sizing / exit 已经给了完整壳

engine.py + risk_engine.pyCOPILOT 默认 risk 框架:

而且不是死板固定止损:

所以这条题材满足“可直接落地完整策略(entry/exit/sizing/risk/cost)”这一条。

---

5. 最关键的 6 个数据点

5.1 这不是老 repo 翻新,而是 2026-03-13 新建、4 月还在更新

GitHub API 元数据:

也就是说,这轮确实算得上近 5 年内、而且是最近几周还在活跃的新 repo

5.2 15m 的 base alpha 定义很完整:7d fair value + 3d z-score + 1d stability/vol

这比很多只说“做 z-score reversion”但不告诉你窗口怎么压缩的材料强很多。

作者已经明确把 15m 结构写成:

这非常适合我们直接压成 15m -> 5m 的最小移植实验。

5.3 entry threshold 不保守到完全不触发,也没宽到只剩噪音

核心 admission 条件:

这组阈值不是纯学术写法,而是明显在试图兼顾:

5.4 我按 repo 逻辑做了一个 15m live probe:信号是活的,但默认流动性门槛对 spot 15m 偏高

用 repo 默认 universe + Binance 公共数据,在 2026-04-05 16:15 UTC15m 快检结果里:

但:

这很有价值,因为它说明:

> alpha 本体是活的,但 15m 直接照搬 repo 的 spot volume gate,可能会把大部分机会先挡掉。

5.5 同样逻辑切到 1h,SOL 当下就能过默认 admission

我又按 1h profile 快检了一次,2026-04-05 16:00 UTC

这进一步说明:

5.6 这个 repo 最大的工程价值,是把 raw alpha 和 overlay 拆开了

monitor.py 里还能叠:

但这些没有盖掉 raw alpha 主体,反而让我们更容易做拆件实验:

这正符合现在 desk 需要的“把素材拆成可复现实盘组件”的节奏。

---

6. 对 short-cycle desk,最值得拿走的不是 dashboard,而是这条 desk 版策略壳

我会把这条 repo 里的核心思想,压成下面这个更适合我们 desk 的版本。

6.1 desk 版主结论

> 先用 BTC+ETH 双 benchmark 定义 alt 的 fair value,再做 residual z-score 回归;把 liquidity / vol / stability / funding 当 admission gate,而不是把 news / macro 当主信号。

这意味着它服务的是一条非常标准、但很实用的 raw alpha:

6.2 为什么这条线特别适合 5m / 15m

因为这类 fair-value gap 信号最怕两件事:

15m 正好是个还不错的折中层:

如果要往 5m 推,我反而建议:

6.3 一个更适合我们 desk 的可执行版本

#### 交易对象

#### fair-value 模型 每个 alt 在每个 bar 做:

``text log(alt) = a + b1*log(BTC) + b2*log(ETH) ``

得到:

#### 入场

其中:

#### 方向

#### 离场 优先测三种:

  1. z 回到 0 ~ ±0.25
  2. 固定持有 H ∈ {8, 16, 24, 32} bars
  3. 先到 time-stop 或 opposite signal 就平

#### sizing / risk

#### 成本

---

7. 最小实验应该怎么测

这是这篇最重要的部分:别只停在“能看懂源码”。

7.1 第一轮最小实验

目标

先验证:

> BTC+ETH fair-value gap 的 residual z-score,在 crypto short-cycle 上是否有稳定回归边。

实验口径

关键输出

至少看这 8 个:

7.2 第二轮:只改一件最关键的事——volume gate

这轮 live probe 已经给了一个很明确的信号:

所以第二轮最该做的不是先叠 news,而是先做:

> absolute liquidity floor vs rolling percentile liquidity floor

也就是比较:

看看哪种更适合 15m

7.3 第三轮:测双 benchmark 是否真优于单 benchmark

把下面几种并排:

  1. alt ~ BTC
  2. alt ~ ETH
  3. alt ~ BTC + ETH
  4. alt ~ market basket

这一步很关键,因为如果 BTC+ETH 没明显优于 BTC only,那实盘就该选更简单、更稳的版本。

---

8. 这条题材的主要风险与注意点

8.1 repo 现在是 spot klines + futures funding 混搭

这在研究阶段不是致命问题,但在实盘迁移上要小心:

所以 desk 版最好直接改成:

8.2 rolling OLS 在 regime 切换时会漂

fair-value 模型本身不是圣杯:

所以后续可加:

但这些是第二阶段,不应该妨碍先做最小实验。

8.3 这条策略不是“任何偏离都能回”

当偏离来自:

那 fair-value gap 可能不是 mispricing,而是真实 re-pricing。

所以后续要加一个很实用的 veto:

但注意:这仍然是给 raw alpha 加保护,不是把主题改成 filter digest。

---

9. 这轮结论

如果只用一句话总结:

> 这份 2026 新 repo 最值得 desk intake 的,不是它的 dashboard,也不是它附带的宏观/新闻模块,而是那条很清楚的 raw alpha:用 BTC+ETH 双 benchmark 定义 alt fair value,再做 residual z-score mean reversion。

它为什么值得进研究池:

  1. base alpha 清楚:不是 filter 伪装成 alpha;
  2. 可独立复现:全用 Binance 公共数据就能做;
  3. 可直接落地完整策略:entry / exit / sizing / risk / cost 源码都有;
  4. 和 short-cycle desk 直接相关:15m profile 已经内建;
  5. live probe 说明信号活着:当前 15m 上 SOL / XRP 都出现了明显 fair-value gap,只是 default volume gate 对 spot 15m 偏严。

如果本轮只留一个“下一步就该测”的任务,我的答案是:

> 先把这条 BTC+ETH fair-value gap alpha 用统一的 Binance perp 口径,在 15m 上做一轮 volume-gate 重标定 + z-score / exit 网格测试。

这一步做完,才能判断它到底是:

---

10. 来源链接

Repo / readable

关键源码

公共数据端点