源文件:research/quant_digests/2026-04-15_0439_btcshock-altlag-dualregime-shell.md
README.md + scripts/simulate_6months.py + scripts/paper_trade.py + src/paper/config.py + src/paper/trader.py + src/paper/position_manager.py + src/paper/price_tracker.py + src/features/engineering_v2.py)+ Binance Spot 1m public-data portability probe5m 内先发生足够大的方向冲击,alt basket 的反应存在可交易时滞;bear regime 做 BTC dump -> short lagging alts,bull regime 做 BTC dip -> long lagging alts。主来源是一份 2026 GitHub 新 repo:
mamipour(GitHub handle;README 未写实名)先把 base alpha 说清楚: > 这份东西的 base alpha 不是“BTC 是市场龙头”这种宏观废话,而是一个很具体的事件驱动 lead-lag:BTC 5m shock 先发生,alt 在后续 15m/30m 里继续朝同方向补跌 / 反打。
它和我们最近收过的几类题不一样:
BTC shock × dual-regime alt-lag basket 这条完整 raw alpha 壳:同样是 BTC 先动,熊市做补跌 short,牛市做 dip-buy long,并且用固定持有期和 regime filter 把它变成一条可执行策略。1m 历史数据(约 4 年) 做特征与回测、用 Kraken Futures 公共 WebSocket 做实时 paper trading,给出完整参数、费用、持仓管理与滚动窗口统计。scripts/simulate_6months.py 明确写了两条分支:BTC 5m 跌幅 >=1%,且 BTC 7d return <= -5%,做 short alt basket,默认 持有 15m;若跌幅超过 2% 则跳过,避免 crash 反抽。BTC 5m 跌幅 >=0.5%,且 BTC 7d return >= 0%、BTC 3d return >= 0%,做 long alt basket,默认 持有 30m。lev = clip(1 + 2*(drop_pct-1), 1, 2);时间过滤明确跳过 UTC 7~11 点;round-trip cost 写死为 maker 0.02%/side + slippage 1bp/side = 6bps。scripts/paper_trade.py + src/paper/trader.py 直接连 Kraken Futures 公共 ticker 做无 API key 的 paper trading,这意味着它不是“只有 notebook 没有交易状态机”的 repo。这条题和当前 momentum 主线直接相关,原因有三层:
这不是“BTC 很重要”的宏观叙事,而是一个可以在 1m -> 5m formation -> 15m/30m exit 上立刻做最小实验的 event-driven alpha。
这几天 intake 很多是 pairs / spread / cross-sectional mean reversion;这份 repo 提供的是另一条可复现主线:leader shock routing。
不需要专有数据,不需要闭源 order flow;只要 公开 BTC/alt 1m klines 就能回放,执行层还可以从现货 proxy 升级到 perp / cross-venue / faster routing。
BTC 7d return 决定 bear / bull / neutral;bull branch 还要额外检查 BTC 3d return >= 07~11 禁做;bear branch 跳过 BTC 5m drop > 2% 的 crash-like 事件;持仓期间不叠加新事件15m/30m time exit、6bps round-trip maker+slippage 基线Bear short(补跌支路)
BTC 5m return <= -1%BTC 7d return <= -5%BTC 5m drop > 2%,直接 skip15mshort 全部 follower altsBull dip-buy(反打支路)
BTC 5m return <= -0.5%BTC 7d return >= 0%BTC 3d return >= 0%30mlong 全部 follower altsREADME 写的是 19 个 altcoins,覆盖 large / mid / small cap: ETH, SOL, BNB, XRP, ADA, AVAX, LINK, DOT, NEAR, SUI, ARB, OP, APT, INJ, FET, PEPE, TIA, DOGE, SHIB。
这点很关键: > 它不是单币 ETH/BTC lead-lag,而是“BTC 事件 -> alt basket”路由。
src/paper/position_manager.py 的 live paper-trading 版本默认是等权拆到每个 coin;simulate_6months.py 在 event timestamp 上按可交易 coin 数量做 equal-weight capital split;2x。repo 明确给了费用:
0.02% / side1bp / side6bps这不是 production-ready 成本建模,但已经足够支持 first-pass replication。
为了避免只抄 repo headline,我额外用 Binance Spot 公共 1m 数据做了一个最近样本快检,镜像 repo 的核心规则,但先只测流动性更高、最容易被套利抹平的 BTC -> {ETH, SOL, DOGE}。
1m klines30dBTCUSDTETHUSDT, SOLUSDT, DOGEUSDTBTC 5m <= -1%、BTC 7d <= -5%、持有 15m、跌幅上限 2%、lev scaling 同 repoBTC 5m <= -0.5%、BTC 7d >= 0%、BTC 3d >= 0%、持有 30m6bps round trip15m 内不重叠,bull 30m 内不重叠7~111 个-32.98 bps13 个-31.85 bps-37.80 bps30.8%-4.12%这组 quick check 给出的 first verdict 很直接:
> 结构是清楚的,但在最近 30d 的 liquid-major spot proxy 上,这条 edge 没有自然穿过成本线;尤其 bull dip-buy 分支,已经明显偏负。
也就是说:
BTC 5m move 触发。15m,bull 30m。BTC drop > 2% 直接不做。6bps。2022-04 ~ 2026-03,$10k -> $47,839,总回报约 +378%,年化约 49%,25,230 trades,win rate 55%。先不要照 repo 一口气上 19 币全篮子,而是做一个更 desk-friendly 的分层实验:
1m 数据;formation 维持 5mBTCUSDTliquid majors / mid-caps / small capsBTC 5m <= {-0.8%, -1.0%, -1.2%}BTC 5m <= {-0.4%, -0.5%, -0.6%}10m / 15m / 20m / 30m 网格4 / 8 / 12 bpsk followers,而不是等权全篮子最近样本里 bull dip-buy 明显在拖后腿;它可能应该直接降级为可选分支。
repo 里 engineering_v2.py 已算了 catchup_ratio_5m、momentum_div_5m/10m/15m,这说明作者也知道“谁还没跟上”才是核心,不该永远所有币一起做。
repo 的回测数据来自 Binance,但 live paper trade 放在 Kraken Futures;如果 edge 的一部分来自 venue 间时滞,那就不该用 same-venue spot proxy 一刀切判死,也不该忽略执行延迟。
如果 liquid majors 已被套利压平,edge 可能只剩 mid/small-cap,那 production 版就该改成“事件触发 + 分层 universe + 流动性上限”,不是无脑 19 币全开。
如果 lag 主要存在于 shock 后最初几分钟,15m/30m 可能已经太慢;下一轮可以测 entry latency 0/1/2m 与 hold 5/10/15m。
我的判断是:
> 这份 2026 repo 值得进素材池,因为它提供了一条“可直接跑起来”的跨资产 lead-lag raw alpha skeleton;但按我补的 recent-major portability probe 看,它还不配被当成当前 desk 的现成 production shell。
更直白地说:
> 可以 intake 这条结构,但不要相信“BTC 一跌,alts 必补跌 / 必反打”在 2026 还天然有肉。现在更像需要二次拆解成:BTC shock router + lagger ranking + universe tiering + faster exit。
所以这轮最合理的定位是:
1m 价格流;repo live 端用 Kraken Futures WebSocket,无需 API key1m 历史 / 实时 tickerBTC 5m shock 触发 follower basket,按 regime 决定方向,持有 15m/30m,先做 equal-weight baseline,再加 lagger rankingmamipour (2026). *Crypto Lead-Lag Trading Bot*.scripts/simulate_6months.py: <https://github.com/mamipour/lead-lag-trader/blob/main/scripts/simulate_6months.py>scripts/paper_trade.py: <https://github.com/mamipour/lead-lag-trader/blob/main/scripts/paper_trade.py>src/paper/config.py: <https://github.com/mamipour/lead-lag-trader/blob/main/src/paper/config.py>src/paper/trader.py: <https://github.com/mamipour/lead-lag-trader/blob/main/src/paper/trader.py>src/paper/position_manager.py: <https://github.com/mamipour/lead-lag-trader/blob/main/src/paper/position_manager.py>src/paper/price_tracker.py: <https://github.com/mamipour/lead-lag-trader/blob/main/src/paper/price_tracker.py>src/features/engineering_v2.py: <https://github.com/mamipour/lead-lag-trader/blob/main/src/features/engineering_v2.py>