源文件:research/quant_digests/2026-04-19_2019_highvol-selloff-bounce-5m-alpha.md
README.md + src/strategy.py + src/backtester.py + src/data_fetcher.py)+ Binance USDⓈ-M 15m/5m portability probe(8 liquid majors)1h/4h 里先把自己砸下去、同时成交量放大的币,往后 1h~2h 更容易弹回一截,且 5m 版比 15m 版更像真信号先回答 base alpha:这篇东西的 base alpha 很清楚,就是 raw alpha,不是 filter。
主材料是 GitHub 仓库 skylarshi123/crypto-stat-arb。repo 自己写得很直白:
1h 跌幅 > 2% + 成交量 > 24h 均量的 1.5x 识别超卖;BTC / ETH / SOL / AVAX。源码里最值钱的不是“统计套利”这个名字,而是它把信号写得很朴素:
return_1h = close.pct_change()volume_ratio = volume / rolling_24h_avgsignal = (return_1h <= -0.02) & (volume_ratio >= 1.5)对我们来说,这个骨架天然能压缩成更适合短周期 desk 的版本: 把“1h 急跌 + 放量”改写成 5m/15m 的短窗 selloff bounce signal,再用固定 hold / hard cost / router 做成可交易原型。
5m high-volume selloff bounce 的完整 raw alpha。15m/5m portability probe;结果显示 15m 版一旦持有太久就明显失真,而 5m 版在 ~1h 持有窗里还有正 edge。最关键的数据点:
15m all-signals,持有 4 bars(约 1h):n=231,mean≈-2.2 bps,胜率约 49.8%。15m all-signals,持有 8 bars(约 2h):mean≈-14.6 bps,已经明显转负。5m all-signals,持有 12 bars(约 1h):n=117,mean≈+19.2 bps,胜率约 58.1%。5m router_top1,持有 12 bars:n=41,mean≈+4.2 bps,胜率约 51.2%。5m all-signals,持有 24 bars(约 2h):mean≈+11.1 bps,但边际开始变钝;36 bars 则转负。保守理解成 两腿 roundtrip 合计约 8 bps 的 cost 压力后:
5m / 12-bar 仍有明显正净空间;5m / 24-bar 变成更挑标的的版本;15m 版更像 父级过滤器/入场前确认,不适合当主信号。这轮值得保留,不是因为“又找到一个 mean reversion”,而是因为它很适合拆成我们现在最需要的那种素材:
5m 版比 15m 版更像真正可用的短窗信号;换句话说,它不是“纯说明文”,而是已经把 signal family 写进代码的 raw alpha 原型。
15m 里持有过久时,edge 迅速衰减;top1 shock router,只挑同一时刻最极端的那一腿;time stop + profit target + ATR stop 的组合skylarshi123/crypto-stat-arbklines,无需 API keyBTCUSDT / ETHUSDT / SOLUSDT / XRPUSDT / BNBUSDT / DOGEUSDT / ADAUSDT / LINKUSDT15m:用 4 bar return 近似 1h 急跌,lookback 96 bars 近似 1d 成交量基线,持有 4/8/12 bars5m:用 12 bar return 近似 1h 急跌,lookback 288 bars 近似 1d 成交量基线,持有 12/24/36 bars20 bps / trade 做压力测试;真正可交易前再下探成本梯度15m 不该当主信号。 它在 4-bar 上还勉强接近平手,但一拉到 8/12 bar 就明显失真,说明“弹一下就走”不适合过持。5m 更像真 alpha。 12-bar 的 mean≈+19.2 bps,说明短窗 bounce 不是纯噪声;不过到 36 bar 也会转弱,不能无限 hold。因为这里最核心的问题“到底做什么”已经很清楚: > 做多刚刚被砸得最狠、同时成交量放大的币,赌它短窗回弹。
这就是标准的 raw alpha 叙事,而且 entry / hold / cost / risk 都能讲清楚。它不是只在告诉你“别追涨杀跌”,而是自己就能站成一个独立的 mean-reversion 策略原型。
4 / 8 / 12 / 16 bps 下,5m / 12-bar 还能不能保住正净值。shock_score = (-ret_n) × vol_ratio 最大的那几腿上仓。time stop + take-profit + ATR stop,看是否能把 24/36 bar 的拖尾亏损压掉。BTC / ETH / SOL / BNB / DOGE,别一上来把小币和大币混在一起。15m 能不能做成 pre-filter:15m 若只负责告诉我们“现在是不是 oversold 真空段”,那它更像 gate,不该抢主 alpha 的位置。5m/15m 改写后,实盘可行性主要取决于 手续费 + 滑点 + 退出纪律,不是信号本身。klines public endpoint(无 key)reports/artifacts/quant_digests/2026-04-19_highvol_selloff_bounce_15m_panel.csv15m 汇总:reports/artifacts/quant_digests/2026-04-19_highvol_selloff_bounce_15m_summary.csv15m router 事件:reports/artifacts/quant_digests/2026-04-19_highvol_selloff_bounce_15m_router_top1_events.csv5m 面板:reports/artifacts/quant_digests/2026-04-19_highvol_selloff_bounce_5m_panel.csv5m 汇总:reports/artifacts/quant_digests/2026-04-19_highvol_selloff_bounce_5m_summary.csv5m router 事件:reports/artifacts/quant_digests/2026-04-19_highvol_selloff_bounce_5m_router_top1_events.csvreports/artifacts/quant_digests/2026-04-19_highvol_selloff_bounce_summary.json