← 返回 Quant Digests · 站点首页

别把这份 Binance 稳定币对 bot 只读成“零费率网格工具”:对 short-cycle desk,更该先保留的是「stablecoin micro-depeg fade × 1 tick take-profit」这条 raw alpha 壳

更新时间:2026-04-17 21:52 UTC 研究时间:2026-04-17 21:56 UTC 类型:2025/2026 GitHub repo source audit(`README.md` + `__main__.py` + `grid_gen.py` + `market_stats.py` + `order_manager.py` + GitHub API metadata)+ Binance Spot `FDUSDUSDC 1m` public-data portability probe(近 45d) 主题标签:raw-alpha / single-asset / relative-value / stablecoin / micro-depeg / mean-reversion / maker / grid / one-tick-tp / fdusd / usdc / binance-spot / 1m / 3m / 5m / 15m / repo / public-data / cost / risk 证据类型:repo 源码 + Binance 公共行情最小迁移快检

源文件:research/quant_digests/2026-04-17_2156_stablecoin-microdepeg-grid-shell.md

1. 为什么这轮选它

这轮优先级不是再补一个解释型 filter,而是补一条 base alpha 能一句话说清楚、而且能直接落成完整策略壳的 raw alpha。

我最后选的是 GitHub 仓库 wangshaofu / mm_bot

先把它翻成人话:

> 这不是“稳定币对可以做网格”的空话;它真正下注的是:当 FDUSD/USDC 这类稳定币对短时掉到局部低位时,后面几分钟经常会先弹回 1 个 tick 左右。

所以它的本体不是 trend,也不是 funding carry,更不是跨 venue 套利;它就是一条很具体的 stablecoin micro-depeg mean reversion raw alpha

2. repo 里真正有价值的部分是什么

2.1 base alpha 很清楚:买局部低位,只收第一跳

grid_gen.py__main__.py 串起来后,repo 的真实逻辑并不复杂:

  1. 用最近 1h15m K 振幅估算当前可交易区间;
  2. best_bid 下方生成一串买单价格;
  3. 价格分配不是均匀的,而是 U-shaped:两端挂得更密,中间也保留最小权重;
  4. order_manager.py 只保留最靠上的两个可用 grid level
  5. 买单成交后,立刻把卖单挂在 buy_price + step,默认就是 +1 tick
  6. 同时用 last_minute_price + 0.0002 做 max-buy-threshold,避免价格已经抬高时继续追着挂。

这说明 repo 真正在做的事其实是:

> 抓“稳定币对短时偏离 → 很快回一格”这件事,而不是长期持有或大波段判断。

2.2 它是完整策略壳,不只是信号

这份仓库最值得保留的,不是 U-shaped 这个词,而是它把完整壳给齐了:

这比很多“只有一个因子公式”的 repo 更适合 desk intake,因为它已经自然回答了:

2.3 它本质上是 maker-ish,不适合被误读成 taker alpha

repo 里最关键的安全护栏之一,是 check_trading_fees()

这其实已经把作者的真实判断写死了:

> 这条 edge 本来就薄,必须尽量站在 maker 一侧吃回弹;一旦改成正常 fee / taker 口径,很可能马上死。

所以正确读法不是“又一个稳定币小网格”,而是:

> 一个对摩擦极端敏感的微观均值回复 raw alpha 壳。

3. public portability probe:这条 alpha 在公开数据里还像不像活的

为了不把源码故事直接当结论,我补了一个很小但够用的 public-data probe。

3.1 快检口径

我没有假装能从 K 线完整复盘真实挂单队列,而是只验证一句最核心的话:

> 当价格滑到近 1 小时区间低位后,后面 15 分钟里,是否经常能先反弹 +1 tick

3.2 对应的最小 signal 定义

选了一个尽量贴近 repo 精神、但能用公共 K 线复现的定义:

3.3 结果:gross 是活的,但只适合极低摩擦

这条最小版规则在近 45d 上给出:

这组数最值钱的地方不是“赚了多少”,而是形状非常像 repo 假设:

3.4 成本敏感度:1 bps 附近就是生死线

我又补了一个简单 friction ladder:

一句话结论非常直接:

> 这条 edge 不是“费后也很厚”的 alpha,而是典型的低摩擦微观口袋;round-trip 一过 1 bps,大概率就不值钱了。

这也反过来解释了 repo 为什么把 零费率 guard 写成硬约束,而不是可选项。

4. 这条线和当前 desk 有什么直接关系

4.1 它补的是一个此前 intake 里不算多的 raw alpha 家族

最近素材池里:

它跟一般 breakout / momentum 完全不是一回事,也不是把某个 filter 硬包装成 alpha。

4.2 它非常适合做 execution realism 教材

这条线的价值,不只是“也许能赚点 tick”,更在于它几乎是 execution realism 的标准教材:

也就是说,它天然逼着 desk 把 alpha / fee / queue / capacity 四件事拆开看清楚。

4.3 它还能反过来服务其他更复杂的 maker-ish 思路

后面如果再测:

都很适合先拿这条线做 baseline:

> 如果连最简单的 stablecoin micro-depeg fade 都跑不通,复杂版本多半只是换了个更贵的故事。

5. 策略拆解

6. 下一步怎么测

这条线下一步不该直接上“大回测美化”,而该先补 3 个最小但决定性的 realism test:

  1. order-book replay / top-of-book fill test
  2. 用 Binance depthaggTrades 级数据,测 top-two grid level 的真实成交概率,而不是只看 K 线 high 有没有摸到。

  1. queue-sensitive friction ladder
  2. 不只测 0 / 0.5 / 1.0 / 2.0 bps,还要把“挂单没排到、被动成交比例下降、撤单重挂损耗”一起建进去。

  1. 多 stablecoin 对横向对照
  2. 复制到 USDC/USDTFDUSD/USDTUSDC/FDUSD 的可交易 venue / session 上,判断它是不是只在 FDUSDUSDC 这个局部环境成立。

如果这三步里:

7. 风险与保留意见

8. 来源

9. 这轮产物