← 返回 Quant Digests · 站点首页

别把这个 2026 Coinbase AI Trader 仓只读成“多 agent 大拼盘”:对 short-cycle crypto desk,更该先拆的是「range-regime oversold confluence bounce × 15m hard timeout」这条完整 raw alpha 壳

更新时间:2026-04-19 23:04 UTC 研究时间:2026-04-19 23:12 UTC 类型:2026 GitHub repo source audit(`README.md` + `backend/agents/scalp_agent.py` + `backend/tests/test_scalp_agent.py` + `backend/tests/test_signal_improvements.py`)+ Binance USDⓈ-M `1m/5m` portability probe(`BTC/ETH/SOL`,公开 K 线) 主题标签:raw-alpha/single-asset/mean-reversion/oversold/confluence/range-regime/adx/vwap/bollinger/stochrsi/mfi/obv/time-stop/1m/3m/5m/15m/repo/public-data/cost/risk 证据类型:仓库源码规则 + 单元测试 + Binance 公共数据最小可复现实验

源文件:research/quant_digests/2026-04-19_2312_scalp-confluence-timeboxed-bounce-shell.md

1. 这次看了什么

先回答 base alpha:这次主题非常明确,是一条可独立复现的单资产短周期均值回归 raw alpha,不是 filter。

主材料是 GitHub 仓库 gl4500/coinbase-ai-trader。这个 repo 表面上是个“多 agent AI Trader”,但真正值得 desk intake 的不是它的 CNN-LSTM 外壳,而是源码里单独拎出来的 ScalpAgent

对我们 desk 真正重要的点在于: > 它把“超卖反弹”从一句概念,写成了可直接落地的 entry / exit / sizing / cost 壳。

2. 源码里到底是什么策略

2.1 entry:不是单一 RSI,而是 oversold confluence score

backend/agents/scalp_agent.py 里把进场写成了一个满分 10 分的打分器,核心规则如下:

repo 原文是 score >= 5 可以触发,但在 ADX < 20 的 ranging regime 下,源码实际上把门槛再抬高了 1 分:

这很关键,因为它不是“看到超卖就抄底”,而是要求至少两三条超卖/承接证据同时出现

2.2 regime:这条 alpha 只该在横盘里做,不该在趋势里硬抄

这份代码最像成熟策略壳的一点,不是指标多,而是它承认:

也就是说,它把 regime gate 明确写进了 alpha 本体,而不是回测完以后再补解释。

2.3 exit:15 分钟硬超时,比“等 opposite band”更 desk-friendly

这条线真正让我觉得值得单独 intake 的,不只是 confluence entry,而是它的时间止损很硬

这比很多“等回到中轨 / 对侧轨 / 均线”类脚本更适合 short-cycle desk,因为它明确表达的是: > 如果 bounce 没在很短时间内兑现,那就把仓位当作错误,别恋战。

3. 为什么它和今天已写过的几篇“反弹 / 回归”还不一样

今天其实已经写过多条 mean-reversion 线,但这篇仍然值得留下,原因不是“又一个超卖”,而是:

  1. 它是完整策略壳,不是单一信号碎片。
  1. 它把“时间”当第一等公民。
  1. 它天然适合作为“maker-first or child-execution”壳来二次开发。

4. 本地最小快检:搬到 Binance 公共数据后,edge 还剩多少?

4.1 数据源、公开性、更新频率、实验口径

说明:因为 Binance 公共 K 线拿不到 repo 里 live WS price、Coinbase 真实成交结构、以及完全一致的 VWAP/OBV 内部实现,我这里做的是可复核的近似版 portability probe,不是宣称与 repo 回测逐点一致。

4.2 最关键数据点

我把 summary 落到了:

其中最值得记住的是这几组数:

  1. 1m 版信号并不稀缺,但扣掉 8bp round-trip 后整体仍偏负。
  1. 5m 版也没把问题根治,最好的一组只是接近打平。
  1. 绝大多数出场并不是 TP,而是 TIME。

这说明一个很直白的问题: > repo 的 alpha intuition 没错,但在 Binance 公共数据 + 保守摩擦口径下,bounce 经常“会反一点”,却不够快、不够深,来不及在 15 分钟内给出足够覆盖成本的利润。

5. 该怎么理解这组结果

5.1 这不是“策略没用”,而是“execution/cost 压力非常真实”

如果一个策略的目标 TP 只有 30bp,那它天然就怕三件事:

  1. 入场追得太高;
  2. 点差/手续费吃掉太多;
  3. 反弹不够快,最后被 TIME exit 平掉。

而这三件事,刚好都是 short-cycle desk 最擅长继续拆的地方。所以这次 digest 的价值,不是“宣布它已能直接上线”,而是:

5.2 这条 alpha 更像“需要 execution 帮忙”的 raw alpha

因此这条线最合理的定位不是:

而是:

6. 这条线为什么仍然算 raw alpha,而不是 filter / overlay

因为这里回答的是: > 到底开哪种仓,靠什么直接赚钱?

答案很清楚:

所以它不是“给别的策略打分”的 filter,而是自己就能独立开仓、独立平仓、独立计费的一条 raw alpha。

7. 风险与保留意见

  1. repo 的交易成本假设偏 Coinbase 友好。
  2. 源码注释里写的是 maker 0.006%/side,round-trip 0.012%;但如果你拿更保守的 Binance 短周期口径去测,edge 会被显著压缩。

  1. 15m hard timeout 很可能既是优点,也是当前主要损失源。
  2. 它控制了拖泥带水,但也让大量“慢一点但方向对”的反弹来不及兑现。

  1. 这条线不是全市场通杀。
  2. 从这次最小 probe 看,SOL 明显比 BTC/ETH 更接近可挽救;说明它可能更适合高 beta、局部 overshoot 更深的币,而不是最成熟的大币永远一把尺子通吃。

  1. 它很容易和今天其他均值回归 digest 看起来“像一家人”。
  2. 但真正不同之处在于:这条线给了一个非常明确的timeboxed shell,而不是“跌多了会弹”这种泛泛说法。

8. 下一步怎么测

  1. 先做 stronger admission 子集,而不是立刻全量实盘。
  1. 把 execution 单独拆出来测。
  1. 测试 15m vs 20m/30m timeout。
  1. 加入简单流动性 veto。
  1. 把它升级成 router,而不是全市场平均开火。

9. 来源

  1. gl4500. (2026). _coinbase-ai-trader_. GitHub repository.
  1. Source audit files
  1. Binance USDⓈ-M public market data

10. 本地产物