← 返回 Quant Digests · 站点首页

别把这份 multi-pair crypto trader 只读成“多币机器人”:对 short-cycle desk,更该先测的是「watchlist top-score rotation × oversold-in-uptrend resumption」这条 raw alpha 壳——但 Binance perp 迁移版明显不过成本线

更新时间:2026-04-13 20:46 UTC 研究时间:2026-04-13 20:44 UTC 类型:2026 GitHub repo source audit(`README.md` + `ARCHITECTURE.md` + `simple_multi_bot.py` + `multi_pair_portfolio_trader_v5.py`)+ Binance USDⓈ-M `15m/5m` public-data portability probe 主题标签:raw-alpha/cross-sectional/rotation/single-asset/trend/pullback-resumption/rsi/ema/volume/watchlist/top-score/long-only/kucoin/binance-perpetual/15m/5m/repo/public-data/cost/risk 证据类型:源码规则 + 近六周公共数据 portability probe + desk-level strategy reframing

源文件:research/quant_digests/2026-04-13_2044_watchlist-topscore-rotation-shell.md

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

> base alpha = oversold pullback inside short-term uptrend, then rotate into the strongest watchlist names.

不是“多开几个币就更稳”。 也不是“机器人并发扫描=alpha”。 更不是把 portfolio bot 这层工程壳误读成策略本体。

repo 里真正能被 desk 拆出来的,是一条两层结构:

  1. 单币 alpha: RSI(14) 超卖 + EMA9 > EMA21 + volume spike,赌的是上升结构内的回踩恢复
  2. 组合壳: 当很多币同时出现候选时,按 score 排名,只拿 top-N,把“单币无聊期”转成“watchlist 轮动”。

翻成人话:

所以这轮我把它归到 raw alpha 壳,但不是完整策略: > alpha 本体是单币 resumption;rotation 只是放大候选覆盖面。

2. 这次看了什么

主来源(repo)

本轮直接审的关键文件

本轮自建 probe 产物

3. 一句话核心结论 + 一句话证明方式

一句话核心结论

> 这份 repo 真正有用的不是“多币同时跑”这层工程感,而是 oversold-in-uptrend resumption 这条单币 raw alpha + watchlist top-score rotation 这层组合壳;但我把它迁到 Binance majors perp 后,15m5m 都明显不过成本线。

一句话证明方式

> 证明不靠 README 自述,而靠源码阈值本身:simple_multi_bot.py 里 entry score 是 0.5 + RSI<30 ? +0.2 : 0 + EMA9>EMA21 ? ±0.15 + volume_ratio>1.5 ? +0.1 : 0score>=0.7 才买;我按 repo 默认 TP=+3% / SL=-1.5% / max_positions sweep / next-bar-open entry 把它迁到 Binance USDⓈ-M 八个 majors 的 15m/5m 数据上,结果 15m 主口径 207 笔、单笔平均净收益 -22.9 bps5m 主口径 252 笔、单笔平均净收益 -28.1 bps,而且几乎全靠止盈/止损出场,说明 alpha 本体还不够硬。

4. 为什么这轮值得写

因为它补的是池子里相对少的一种原型:

  1. 不是传统 pairs / basis / funding。
  1. 不是纯 filter / overlay。
  1. 和今天那篇单币 RSI 壳不完全一回事。

所以它虽然没过线,但仍值得进研究池: > 不是为了立刻实盘,而是为了把“单币信号 × 跨币路由”这类架构拆开看清楚。

5. repo 真正提供了什么

5.1 simple_multi_bot.py:核心不是并发,而是一个很朴素的 3 因子打分器

源码里最关键的不是 asyncio,而是下面这组规则:

注意这里的设计语言:

这已经是一条清楚的 raw alpha 壳,不只是机器人工程。

5.2 README.md / ARCHITECTURE.md:repo 想表达的是“单币会无聊,所以要 watchlist 轮动”

repo 的叙事很明确:

翻成人话: > 它不是先发明了更好的 alpha,而是先发明了更大的候选池。

这点对 desk 很重要,因为很多 bot 的问题根本不是 entry rule 不会写,而是:

5.3 multi_pair_portfolio_trader_v5.py:v5 增加了很多壳,但 alpha 核心没变强多少

v5 加了:

但从 desk 视角,最需要先拆开的不是这些“大而全”组件,而是:

  1. entry alpha 到底是什么?
  2. rotation 是否真的比单币更有效?
  3. 成本后还能不能活?

如果这三件事先答不清,后面的相关性过滤、Kelly、再平衡都只是精装修。

6. 我做的 Binance public-data portability probe

6.1 数据与口径

一个重要提醒

这不是在复刻 KuCoin live bot 的全部实现; 而是在问一个更 desk 的问题: > 把这条 alpha 壳搬到 Binance 短周期 perp 上,它到底有没有 first verdict 的生存性?

6.2 先记最重要的 6 个数

数 1:15m 主口径不过线

15m, max_positions=3

这不是“略差一点”,而是: > repo 这套信号直接迁过来,在 15m 上明显不够覆盖成本。

数 2:5m 更差,不是更快就更好

5m, max_positions=3

注意这个持有时间很关键:

数 3:容量放大不能把负 alpha 变正

容量 sweep:

#### 15m

#### 5m

结论不是“开更多仓就更好”,而是: > rotation 能分散一点单币噪音,但救不了本体信号太弱。

数 4:sell signal 基本没发挥作用

主口径里:

也就是说,绝大多数仓位不是靠“信号翻空”退出, 而是靠:

这很说明问题: > 当前 score 更像 entry gate,不像闭环状态机。

6.3 分币看,不是全军覆没,但也不是稳稳可迁移

15m 主口径里还有正 pocket

但负 pocket 更大

5m 也只有局部正 pocket

但:

这说明最合理的读法不是“这策略废了”,而是: > 它更像少数标的 pocket 才成立,不能拿广谱 watchlist 直接平推。

7. 这条线对 short-cycle desk 的正确读法

7.1 它是 raw alpha 壳,但不是可直接上线的完整策略

因为它已经回答了:

但它还没回答清楚:

所以最稳妥的分类是: > 可独立复现的 raw alpha 壳;但还不是能直接实盘的完整策略。

7.2 rotation 不是 alpha,本体还是单币 signal

这个 repo 最容易被误读的地方就是:

真正决定成败的还是:

7.3 更适合 desk 的迁移方向

如果真要继续,最合理的迁移不是照抄,而是:

  1. 保留 watchlist routing 这个想法;
  2. 重写单币 alpha 本体;
  3. 只把成本后为正的币种收入候选池。

也就是: > 把它当“机会路由器模板”,不要当“信号已验证模板”。

8. 对当前 1m/3m/5m/15m 研发的直接价值

有价值的部分

  1. watchlist routing 这层值得保留
  1. 简单 3 因子打分的表达方式很清楚
  1. 源码里的 portfolio shell 能启发后续架构

没过线的部分

  1. 广谱 majors 直接平推不行
  2. 5m 不是天然更强,只是更吵
  3. sell 阈值没有形成真正闭环

9. 下一步怎么测

按优先级,我会建议这样推进:

方案 A:先把“币种录取线”做好

只保留近样本成本后为正的 pocket:

再重跑:

方案 B:把死阈值 RSI 改成更 desk-friendly 的 pullback 定义

可替换为:

因为当前 RSI<30 在 perpetual 上太像“接 falling knife 的弱版”。

方案 C:把 entry 和 exit 拆开重做

当前 exit 几乎只靠 TP/SL,说明 score<=0.3 不够工作。

优先测试:

方案 D:让 rotation 服务于更强的 alpha,而不是反过来

也就是:

10. 最后一句话

> 这份 repo 值得收下的不是“多币 bot”这个外壳,而是“单币 resumption alpha 可以通过 watchlist top-score routing 提高候选覆盖”这个研究框架;但当前这套 RSI<30 + EMA9>EMA21 + volume spike 直译到 Binance short-cycle perp,结论很明确:还不够硬。