← 返回 Quant Digests · 站点首页

别把这份 2025 新 repo 只读成 130 维 GA:对 short-cycle desk,更该先测的是「Coinbase premium impulse × EMA trend alignment × 60m hold」这条 BTC directional raw alpha

更新时间:2026-04-02 13:22 UTC 研究时间:2026-04-02 13:20 UTC 主题标签:raw-alpha/cross-exchange/price-discovery/coinbase-premium/binance/coinbase/btc/5m/15m/event-driven/cpdiff-zscore/ema-trend/fixed-hold/repo/public-data/cost 证据类型:2025 GitHub 仓库 source audit(README + `calculate_premiums.py` + `genome.txt` + `fitness_backtest.py`)+ Coinbase/Binance 公共 `5m` 本地最小快检

源文件:research/quant_digests/2026-04-02_1320_coinbase-premium-impulse-ema-alpha.md

1) 这次看了什么

这轮不再继续在 generic pairs / funding carry / 纯 orderflow 上内循环,而是补一个 索引里还没单独展开、且天然可映射到 1m/5m/15m 的 raw alpha

一句话:不要把它读成 overfit 参数工厂;先把它缩成“Coinbase premium impulse 是否会向 Binance/主盘价格扩散”这条 directional raw alpha。

2) 先回答题眼:base alpha 是什么?

Base alpha: 当 Coinbase 相对 Binance 的价格溢价在短时间内突然扩大/收敛(不是静态 premium 水平,而是 premium 的变化冲击),BTC 往往会在接下来 30m~60m 沿同方向继续扩散;若再加一层本地趋势对齐(只在 price > EMA 时接正向 impulse,只在 price < EMA 时接负向 impulse),短周期可执行性会明显提升。

所以这不是:

它更像:一个 5m 级别的 price-discovery / flow-lead directional alpha。

3) 为什么这条线值得进当前素材池

因为它同时满足当前优先级里最重要的几件事:

  1. 是 raw alpha,不是纯 gate。
  1. 公开可得,复现门槛低。
  1. 天然贴合 1m/5m/15m
  1. 能直接拆成完整策略骨架。
  1. 和我们之前做过的“跨所 spread 收敛”不一样。

4) 从 repo 里真正该拿走的是什么

4.1 repo 里有用的不是 130 维 GA,而是这几个 primitives

根据 calculate_premiums.pygenome.txt,repo 明确把以下特征做成可优化组件:

对 short-cycle desk 最值得先取的是:

> CPDiff_Zscore + PriceEMA + 固定时间退出

理由很简单:

4.2 我们 desk 该怎么重构这个 repo

不要先复制:

先做最小版:

也就是先回答: > Coinbase premium impulse 本身是不是一个能 survive 的短线 directional alpha?

5) 本地最小快检(公开数据,直接映射 5m)

5.1 数据口径

我本地用公开 API 做了一个最小 transfer check:

定义:

5.2 先看:静态 premium level 不够,impulse 才更像 alpha

我先对比了两类信号:

  1. CP_Zscore:premium 水平极端
  2. CPDiff_Zscore:premium 变化冲击极端

结论非常清楚:

5.3 最小 directional 版本:只做 impulse continuation

#### 版本 A:不加趋势过滤 规则:

结果:

解释:

5.4 desk 更该测的版本:impulse × trend alignment

#### 版本 B:加一层 EMA 趋势对齐 规则:

结果:

这条结果的意义比 headline 更重要:

> 真正值得做的不是“Coinbase premium level”,而是“premium impulse 只在本地趋势同向时做 continuation”。

5.5 一个反证:不是所有 premium 信号都能活

对照组里,若直接用 CP_Zscore 做 continuation:

所以别把“Coinbase premium”当成一个笼统单因子;真正更像 raw alpha 的,是 premium 的冲击项,不是静态项。

6) 最小可落地完整策略(v0)

下面这版已经足够进复现队列:

6.1 Entry

执行周期:5m(后续可下采样到 15m

6.2 Exit

最小版先用最朴素的 time stop:

6.3 Sizing

最小版:

6.4 Risk

最小版先加三条就够:

  1. 单仓位上限:同一时间最多 1 笔
  2. 时间止损:60m 强平,不恋战
  3. 日内损失闸门:若当日累计亏损超过预设阈值(如 3R),当天停手

6.5 Cost

至少要同时看两档:

当前 30 天快检结论:

7) 这条 alpha 和 15m 的关系

虽然我这次直接在 5m 上做了 transfer check,但它并不只适用于 5m

对于 desk 的实际落地顺序,我会建议:

  1. 先固定 5m 做 alpha 真伪判断
  2. 再测试 15m 版本是否能用更少交易数换更高净 edge
  3. 最后才把 1m/3m 用来做 execution enhancement

8) 下一步怎么测(这篇最重要的部分)

Step 1:先做 3 维小网格,不碰 GA

只测:

目的:确认 edge 是否只出现在单一点,还是有一小块稳定 pocket。

Step 2:把 EMA trend alignment 换成更便宜的 regime 定义

对照:

目的:判断我们观察到的净 edge,到底来自“Coinbase premium”,还是其实只是 trend filter 在救命。

Step 3:把 BTC 扩到 ETH,但先别急着扩山寨

ETH 可以测; 但 SOL/ALT 不要急着照搬,因为:

Step 4:补 execution realism

至少补三项:

Step 5:测一个更像实盘的 exit

当前 60m 固定时间止盈止损太原始,下一步应比较:

9) 风险与保留意见

  1. 当前样本只有最近 30 天。
  1. Coinbase/Binance 的价格对齐仍有微观噪音。
  1. repo 本身有明显 overfit 风险。
  1. BTC 以外可能失效。
  1. 当前看起来更像 event-driven pocket,不像 always-on continuous edge。

10) 一句话结论

这篇东西最值得拿走的,不是“多交易所 premium + 130 维 GA”,而是更窄、更干净的这条 raw alpha:Coinbase premium impulse × 本地趋势对齐 × 30m~60m continuation

如果只给我一个最小实验优先级,我会先跑:

> BTC, 5m, CPDiff_Z(24), threshold=2.5, EMA(96) alignment, hold=12 bars, cost=2/4 bps one-way

这比继续补一个抽象 filter 更值,因为它已经是 可执行的 directional alpha 雏形,而且当前 30 天本地快检里,只有“impulse + trend alignment”这版表现出了明显的成本存活迹象

11) 来源

  1. tpmmthomas. (2025). _cb-bfx-premium-backtest_. GitHub Repository.
  1. tpmmthomas. (2025). _calculate_premiums.py_. GitHub source file.
  1. tpmmthomas. (2025). _genome.txt_. GitHub source file.
  1. tpmmthomas. (2025). _fitness_backtest.py_. GitHub source file.
  1. Coinbase Exchange API Docs. (2026 access). _Get Product Candles_.
  1. Binance Spot API Docs. (2026 access). _Kline/Candlestick Data_.