源文件:research/quant_digests/2026-04-04_0448_mfi-overbought-firstred-fade-alpha.md
README.md + mfi_live_trader_8083.py + htf_mfi_paper_trader.py + liq_zone_trader_8089.py + CHANGELOG.md)+ Binance Futures 公共 6h 最小便携性快检MFI 这个指标名词本身,而是「6H overbought exhaustion fade」这条 raw alpha,再叠 15m delayed confirm / cooldown / HTF alignment 这些过滤与执行层先回答 base alpha:这篇东西的 base alpha 是清楚的——不是“因为 MFI 很神”,而是“高位连续推进之后,第一根转弱 bar 往往先给出一段短促回吐”。所以它配当本轮主 digest。MFI / 1D confluence / 24H cooldown / bull-bear regime switch 都是围绕这条 raw alpha 服务的 filter、确认或仓控层。
这轮主看的是一个 2026 年的 GitHub repo:
pavanraheja(GitHub owner)mfi_live_trader_8083.pyhtf_mfi_paper_trader.pyliq_zone_trader_8089.pyCHANGELOG.md8083:6H overbought → 3 green → first red → SHORT 的 live trader;8085:更偏 direction-filter + 1M MFI pullback entry 的高周期对齐版;8089:把 BTC 6H MFI reversal 当主触发,再映射到 alt basket 的 zone follower。如果只看 repo 名字,你很容易把它误读成:
> “又一个拿 MFI > 80 / < 20 乱触发的 retail bot。”
但把代码顺下来后,真正的交易假设其实更具体:
所以它本质上更像:
> impulse exhaustion → early fade
这很适合当前 desk,因为它不是纯解释型主题,而是可以直接落成 entry / expiry / stop / cooldown / session / symbol ranking 的完整单币 raw alpha 壳。
README.md 和 mfi_live_trader_8083.py 给的 baseline 很清楚:
MIN_VOLUME_USDT = 5_000_00030 分钟做一次 overbought / oversold scanMAX_CONCURRENT = 6翻成人话:
mfi_live_trader_8083.py 的核心信号定义非常明确:
MFI_OB = 80MIN_GREENS = 36H bar 里找 MFI > 80 的 overbought;6H bar 全部为 green;6H bar 转成 red 时 arm signal;ENTRY_CONFIRM_MIN = 15 分钟后检查是否入场;ENTRY_EXPIRE_MIN = 180 分钟则 signal 失效。这是这篇 digest 最该记住的一句:
> repo 不是在做“见 overbought 就空”,而是在做“连续推进后的第一根转弱 bar 的早段 fade”。
repo 很聪明的一点,是它没有在 first-red 一出现就硬开仓,而是加了一段 延迟确认窗口:
15 分钟;3 小时内完成入场,否则不追;MFI_MIN_ENTRY = 75),否则说明信号已经衰减过头;MFI_MAX_ENTRY = 85),否则说明热度还没松;8 点,则取消;recently_ob 的边缘信号,要求 entry MFI 至少 77。这套 delayed confirm 其实非常 desk-friendly,因为它直接回答了 short-cycle 最痛的一个问题:
> 不是“有没有反转”,而是“你会不会在最烂的位置才进去”。
8083 里的 execution / risk shell 已经很完整:
ATR_SL_MULT = 1.5,并对 stop distance 加 8% 硬上限;2:1 RR 定义;50% partial close at 1:1 RR;24H cooldown;所以它不是“只有 entry,没有完整交易壳”的半成品,而是一个可直接映射到我们 1m / 3m / 5m / 15m 研究栈里的完整 raw-alpha candidate。
CHANGELOG.md 很有价值,因为它不是只说“我觉得有效”,而是把策略迭代写成了数据驱动日志。几个最重要的数据点:
2026-04-01 的记录写得很直白:
80–85 区间胜率约 67%;85–90 区间胜率约 22%;90–95 / 95–99+ 更差,接近 0–25%。这说明:太热的时候别急着 fade,edge 反而更差。
changelog 里提到同一币种无 cooldown 重复进场,曾把单币亏损从 -1.08% 扩成 -9.16%。 这类 raw alpha 最大的风险之一就是:第一脚没结束时,你会不断把“继续趋势”误判成“第二次反转”。
8085 的 paired-signal A/B 里,SL-1.5% 比 SL-1.0% 更优:
SL-1.5%:净值 +6.6%,WR 80%,PF 6.40SL-1.0%:净值 +4.0%,WR 60%,PF 2.20说明这类 fade 不是纯 knife-catch,而是经常先被 wick 再回落;stop 太紧,反而会被洗掉。
这三个点拼起来,给 desk 的启发非常明确:
为了避免只照单全收 repo 自报成绩,我额外用 Binance Futures 公共 6H K 线 做了一个最小快检(artifact 已落盘):
klinesBTC / ETH / SOL / XRP / DOGE / ADA / DOT / AVAX / BNB / LINK2024-01-01 到 2026-04-046H 已完成 bar 连续 green;MFI peak > 80;在 10 个主流 perp 上共抓到 233 个 proxy signals:
6H 平均收益:-6.35 bps(做空视角是正)6H(约 12H)平均收益:-11.12 bps6H(约 24H)平均收益:+120.45 bps翻成人话:
> 这条 edge 更像“先回吐一小段”,不是“抱着空单等大波段”。
也就是说,如果你把它误做成 swing short,很可能把短促 alpha 持成趋势反向暴露。
在这组 proxy 里,最像样的名字其实集中在少数 alt:
ADA:26 个信号,后 12H 平均 -140.00 bps,负收益占比 69.2%SOL:22 个信号,后 12H 平均 -105.47 bps,负收益占比 63.6%BTC:30 个信号,后 12H 平均 -21.48 bps但也有明显失败样本:
ETH:后 12H 平均 +57.85 bpsDOGE:后 24H 平均 +452.37 bps所以更合理的 desk 读法不是“这是全宇宙通杀 MFI 空头系统”,而是:
> 这是一条需要 symbol ranking / universe admission 的 raw alpha。
我额外把 MFI peak 做了粗分桶:
80–85:109 个信号,后 12H 平均 -2.88 bps85–90:67 个信号,后 12H 平均 -58.51 bps90+:53 个信号,后 12H 平均 +32.50 bps,后 24H 平均 +338.82 bps这和 repo changelog 的经验是同向的:
只是要注意:
这轮为什么值得写,而不是继续围着旧 breakout / retest 打转?因为它补的是当前很缺的一条独立 raw alpha:
single-asset mean reversion / exhaustion fade1m / 3m / 5m / 15m execution 层更重要的是,它把策略拆成了很适合 desk 迭代的模块:
8085 的 BULL_MODE / BEAR_MODE)这意味着它不是“只能拿来做一篇说明文”的主题,而是能继续分解成多轮实证:
如果把它翻译成更贴近我们 desk 的首轮 baseline,我会建议:
8~12 个最液态 perp,不要一上来全市场扫6H15m(必要时下钻 5m)6H 为 green6H 内出现 MFI peak > 806H bar 开始转红15m15~180m 内允许进场15m 已出现明显 V 型收回或 intrabar MFI 衰减过头,则取消1.25~1.75 × 6H ATR stop50% 在 1R12H time-box 或轻 trailingrepo 原始 live 版本更偏 RR + trailing,但我这轮最小快检给了一个很清楚的提醒:
> 如果 alpha 主要集中在 6–12 小时的快回吐,那 exit 设计比 entry 微调更重要。
所以对 desk,最值得优先测的不是再把 MFI_MIN_ENTRY 75/76/77 无限打磨,而是:
6H flat12H flat1R partial + 12H hard stoprepo-style trail谁最能保住短促回吐,谁才是这条 alpha 真正的 executable shell。
最小实验建议:
BTC / SOL / ADA / DOT / SUI / BNB / LINK / AVAX15m + 6H6H 负责产生 overbought-first-red signal15m 负责 delayed confirm 和实际入场目标:回答 repo 的 delayed confirm 壳,放到我们自己的数据栈里后还剩多少 edge。
固定 entry,不动 signal,只比较:
12H flat1R partial + 12H flatrepo trail24H hold如果 24H hold 明显最差,那就说明这条 alpha 的正确读法确实是 fast time-box mean reversion,而不是 swing fade。
按近 90d / 180d 条件 edge 给币排序:
6H / 12H 平均回吐若排名稳定,再决定是否:
mfi_live_trader_8083.pyhtf_mfi_paper_trader.pyliq_zone_trader_8089.pyCHANGELOG.md6H,下一步建议加 15m 执行层)reports/artifacts/quant_digests/mfi_overbought_exhaustion_20260404/symbol_summary.csvreports/artifacts/quant_digests/mfi_overbought_exhaustion_20260404/mfi_peak_buckets.csvreports/artifacts/quant_digests/mfi_overbought_exhaustion_20260404/signal_sample.csv这份 repo 值得 intake 的地方,不是“又一个 MFI bot”,而是它把 6H overbought exhaustion fade 这条 single-asset raw alpha,包成了一个已经有 delayed confirm / anti-chase / cooldown / ATR risk shell 的完整候选;而我这轮最小快检进一步提示:这条 edge 更像 6–12 小时的快回吐,不像 24 小时以上的长持空单。