← 返回 Quant Digests · 站点首页

别把这份 2026 Hyperliquid perp bot 只读成“BTC 布林带脚本”:对 short-cycle crypto desk,更该先保留的是「EMA200 顺势下的外轨触碰回归 × opposite-band maker exit」这条完整 raw alpha 壳

更新时间:2026-04-19 21:36 UTC 研究时间:2026-04-19 21:32 UTC 类型:2026 GitHub repo source audit(`README.md` + `src/perps_trading.py` + `tests/test_signals.py` + `tests/test_stop_logic.py` + `config/accounts.json`)+ Binance USDⓈ-M `15m/5m` portability probe(`BTC/ETH/SOL`) 主题标签:raw-alpha/single-asset/mean-reversion/trend-filter/bollinger-band/ema200/opposite-band-exit/maker-first/hyperliquid/binance-perpetual/5m/15m/repo/public-data/cost/risk/shell 证据类型:仓库源码规则 + 公共 K 线最小探针

源文件:research/quant_digests/2026-04-19_2132_bbtouch-oppositeband-maker-shell.md

1. 这次看了什么

先回答 base alpha:这篇东西的 base alpha 很清楚,是 raw alpha,而且是能直接落地成完整策略的那种。

主材料是 GitHub 仓库 vitor-chagas/dex-trading-bot(创建于 2026-03-21,Python)。repo 自己给出的核心壳很完整:

这就不是“有个 signal,别的你自己补”的半成品,而是把 entry / exit / stop / maker-vs-taker / sizing / live-loop 都写出来了。

更关键的是,repo README 里把它说成“Bollinger Band mean-reversion strategy with EMA trend filter”,而源码/测试把交易逻辑拆得很干净:

对 desk 来说,真正值得 intake 的不是“又一个 BB 策略”,而是: > 顺大势、吃小过冲、用对侧 band 做动态回补退出。

2. 核心结论

最关键的数据点(均为扣除 roundtrip 8 bps 成本后):

  1. 15m all-signals,持有 4 bars(约 1hn=2870mean≈+2.5 bps,胜率约 52.4%
  2. 15m all-signals,持有 8 bars(约 2hn=2870mean≈+4.2 bps,胜率约 54.0%
  3. 15m all-signals,持有 12 bars(约 3hn=2870mean≈+4.5 bps,胜率约 54.9%
  4. 5m all-signals,持有 6 bars(约 30mn=4820mean≈-1.2 bps,说明太快拿利润不够。
  5. 5m all-signals,持有 12 bars(约 1hn=4820mean≈+0.8 bps,刚过盈亏平衡。
  6. 5m all-signals,持有 24 bars(约 2hn=4820mean≈+6.4 bps,胜率约 64.1%,是这轮 probe 最像 pocket 的窗口。
  7. 5m / 24-bar 分币结果BTC≈+6.1 bpsETH≈+3.6 bpsSOL≈+9.5 bps,说明这条线不只在 BTC 上站得住。

保守一点读,这组结果在说:

3. 为什么和当前 desk 直接相关

这轮值得保留,不是因为“又遇到一个均值回归”,而是因为它刚好补的是我们现在需要的那种 完整策略壳

换句话说,这条线不是“解释文”,而是已经足够像一个 可实盘拆件: 你可以把 signal 留着,也可以直接把 execution/exit/sizing 抽出来给别的 mean-reversion 家族复用。

3.5 策略拆解(必填)

4. 本地最小快检(公开可得数据)

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

4.2 这组快检怎么读

5. 为什么这次不把它降级成 filter / overlay

因为这里最核心的问题“到底做什么”已经完全说得清楚: > 顺着 EMA200 的大方向,在价格戳到 Bollinger 外轨时反向接回归,优先吃回到对侧 band 的那一段。

这本身就是完整的 raw alpha 叙事,不是单纯在告诉你“市场不好别做”或“仓位要缩小”。 而且 repo 把 entry / exit / stop / sizing / execution 都给了,所以它比一般“只给信号、不给交易结构”的素材更值得优先 intake。

6. 下一步怎么测

  1. 先做 band-width gate。 当前 probe 没有用最小带宽过滤,下一轮应直接测 band_width_pct 分桶,看窄带假信号能不能被砍掉。
  2. 做 maker-fill realism。 现在默认“触 band 就能成交”,下一步要把“挂单后 1 bar 内是否真成交、挂多久撤单”补进去。
  3. 15m parent + 5m child execution 拆开。 比起直接拿 5m 裸做,也许更该用 15m 决定方向与 admission,再在 5m 里做更细的挂单和止损。
  4. 测 stop 宽度梯度。 比较 2.0% / 2.5% / 3.0% / 4.0%,因为 repo README 和 live config 已经暗示这条线对 stop 宽度很敏感。
  5. 补 funding / OI veto。 当外轨触碰发生在极端去杠杆/追杠杆时,顺势回归可能会退化成“接飞刀”或“逆势抄顶”。
  6. 区分 BTC 与 alt。 当前 probe 显示 SOL pocket 最强,说明这条线可能该按波动属性分参数,而不是全币同参。

7. 风险与保留意见

8. 来源

  1. Vitor Chagas. (2026). _dex-trading-bot_. GitHub repository.
  1. Source audit files
  1. Public data probe

9. 本地产物