源文件:research/quant_digests/2026-04-01_0247_l2-imbalance-burst-scalper-alpha.md
README.md + strategies/orderbook_imbalance.py + config/config.yaml + backtest/backtester.py)+ Binance USDⓈ-M Perpetual 公开 1m proxy quick check1m/3m/5m 更容易继续沿失衡方向漂移;RSI 只做过热/过冷 veto,不是 alpha 本体> 先回答 base alpha:这不是 filter,不是 overlay。base alpha 就是“L2 盘口单边失衡 × 成交量突增 × 同向短窗动量”之后的超短线 continuation。RSI、止损、追踪止盈、5 分钟 time stop 只是风控/出场壳。
这次主材料不是论文,而是一个很新的 repo:devinbrumbelow5-jpg/kimmy-scalper(GitHub metadata 显示创建于 2026-03-30)。表面标题是“ultra-low latency crypto scalping bot”,但真正值得 desk 抽出来的,不是 UI、sub-agent、paper/live mode 这些壳,而是它在 strategies/orderbook_imbalance.py 里给出的完整短线 directional skeleton:
orderbook_depth = 10,用 top-10 bid/ask volume 算 imbalance = bid_volume / (bid_volume + ask_volume);imbalance_threshold = 0.65,只有极端失衡才触发;momentum_lookback = 20,要求短窗价格动量与盘口方向一致;volume_spike_multiplier = 2.0,要求成交量爆发;rsi_period = 14,仅用于避免过热 long / 过冷 short;0.5% 初始止损、1.0% 初始止盈、+0.5% 后激活 0.3% trailing、300s time exit、0.5% 资金风险上限、日亏损/回撤阈值。更重要的是:repo 自带 backtest/backtester.py,但它不是用真实 L2 回放,而是拿 OHLCV 高低点去合成 orderbook。所以这份 repo 的价值,不在“它回测赚没赚钱”,而在它把一个可落地的 microstructure alpha 骨架写得很清楚,方便我们直接拆成真实可测版本。
1m kline 的 taker-buy proxy 做最小 transfer check,发现这条线在 bar-space 里仍能留下薄毛边,但只适合极低成本执行。关键数据点(本地 1m proxy quick check,BTC/ETH/SOL,近 10 天,public kline,用 taker_buy_quote/quote_volume 近似买盘压力):
2.0x volume burst 门槛搬到 1m bar-space,信号反而偏稀且平均边际为负;说明 repo 的事件级阈值不能直接平移成分钟 bar 阈值。buy_ratio > 0.70 / < 0.30、volume_ratio20 > 1.5x 后,3 分钟持有 pooled gross +0.460 bps/trade,5 分钟持有 gross +0.481 bps/trade。0.23 bps(one-way),5 分钟持有约 0.24 bps(one-way);一旦按 0.25 bps(one-way) 计,净值已接近或略低于 0。+1.06 bps/trade),BTC 只有 +0.08 bps,SOL 大约 +0.36 bps;所以这更像需要按币种分层 admission,不是全市场统一阈值。L1 imbalance / OFI / VWAP-pressure 证据,但这份 repo 的额外价值是把volume burst admission、RSI veto、time stop、trailing stop一起写成了可直接复刻的完整策略骨架。1m 触发、3m/5m 持有;不是 15m 主 bar raw alpha,但可以作为 15m 体系里的“快时钟子模块”或者单独的 ultra-short alpha lane。imbalance_t = bid_vol_top10 / (bid_vol_top10 + ask_vol_top10)imbalance_t > 0.65 且短窗动量为正、volume burst 成立、RSI 未过热imbalance_t < 0.35 且短窗动量为负、volume burst 成立、RSI 未过冷TP 1.0% / SL 0.5% / trailing / 300s time stop 的层级执行0.5% 账户权益;币种分层上限,避免 ETH/SOL 信号强时单币过度集中研究假设:真实 L2 盘口失衡只有在“短窗动量确认 + 成交量爆发”时,才会从纯噪音变成可交易 continuation;若不加 admission,盘口失衡本身不够稳。
数据源与公开性:
quote_volume、taker_buy_quote_volume 可得)100ms~1s;最小诚实 proxy 可先落在 1m,再映射到 3m/5m 持有最小可复现实验口径:
BTC/ETH/SOL,后续扩到流动性前 10 永续;1s event bar 或 5s bar 为主,不建议先用 15m;top10 depth imbalance、trade-flow buy ratio、20s/60s price momentum、volume burst、spread;60s / 180s / 300s 三档 + TP/SL/trailing 对照;0 / 0.1 / 0.25 / 0.5 / 1.0 bps(one-way);gross/net bps per trade、fill survival、queue loss、holding-time pnl decomposition。下一步最该先测:
event-time 2.0x volume burst 到底对应分钟口径的多少倍?imbalance 0.65 应该用绝对阈值还是 rolling quantile?30s/60s/180s 哪个持有区间?ETH/USDT perp 的 1s top10 imbalance × 20s volume burst × 180s hold,成本分 maker/taker 两条曲线单独跑。taker_buy_quote/quote_volume 只能近似主动买盘压力,不能替代 top-10 depth imbalance。0.25 bps 左右就基本吃光;因此不适合作为“默认 taker 策略”。15m 主 bar 的关系不是“直接把信号压成 15m bar-close”;更合理的用法是快时钟触发器或 15m 母策略下的执行/加减仓子模块。https://github.com/devinbrumbelow5-jpg/kimmy-scalperhttps://github.com/devinbrumbelow5-jpg/kimmy-scalperhttps://raw.githubusercontent.com/devinbrumbelow5-jpg/kimmy-scalper/main/config/config.yamlhttps://raw.githubusercontent.com/devinbrumbelow5-jpg/kimmy-scalper/main/backtest/backtester.pyreports/artifacts/quant_digests/kimmy_scalper_proxy_20260401_0245/summary.csvreports/artifacts/quant_digests/kimmy_scalper_proxy_20260401_0245/grid.csvreports/artifacts/quant_digests/kimmy_scalper_proxy_20260401_0245/by_symbol_bestproxy.csvreports/artifacts/quant_digests/kimmy_scalper_proxy_20260401_0245/cost_ladder_bestproxy.csvreports/artifacts/quant_digests/kimmy_scalper_proxy_20260401_0245/signals.csvreports/artifacts/quant_digests/kimmy_scalper_proxy_20260401_0245/panel.csvreports/artifacts/quant_digests/kimmy_scalper_proxy_20260401_0245/meta.json