源文件:research/quant_digests/2026-04-07_1334_btc-coinm-carry-rollover-shell.md
README.md + README_backtest_with_rollovers.md + task1.py + backtest_with_rollovers.py)这次看的是 Krish Saraf (2025) 的 GitHub 仓库 KrishSaraf/BTC-Cash-and-Carry。它最有价值的地方不是“basis 会收敛”这句常识,而是把一条 carry raw alpha 从入场、分片执行、近月切换、日度再对冲、到最终平仓,写成了能直接拿来做 first verdict 的完整策略链条。
task1.py 负责 basis 扫描与 24h 进场,backtest_with_rollovers.py 负责多日持有、近到期移仓与 EOD 再对冲,README 直接给出 2025 回测摘要与执行假设。BTCUSDT spot + short Binance COIN-M BTCUSD 季度合约;入场时会在 CURRENT / NEXT quarter 中选 basis 更高的那只。task1.py 用 1m 对齐现货与季度合约行情,算 basis_bps=(F-S)/S*1e4 与 ann_return=((F-S)/S)*(365/dte),再把 24 小时切成 96 个 15m slot 做分片执行。这条线对当前 momentum 有价值,不是因为它能冒充 5m 方向信号,而是因为它补的是 carry / basis 这类可独立实盘的 raw alpha:
1m/5m/15m 子时钟。研究假设: Binance BTC 现货 vs COIN-M 季度合约的正 basis,在扣掉真实 fee / borrow / rollover friction 后,仍能形成可保留的 carry edge;而 repo 的价值主要在于把这条 edge 做成“可长期拿”的执行壳。
最小实验口径:
BTCUSDT 现货 + Binance COIN-M BTCUSD CURRENT / NEXT quarter1m spot klines、COIN-M continuous klines、合约到期信息;执行聚合到 15m slotsannualized_basis > hurdle(先测 8% / 10% / 12% 三档)且 basis 为正;CURRENT / NEXT 选更高 carry 合约|net_delta| > 5% 是否再对冲;days_to_expiry <= 2 触发 24h rollover先看 3 个指标:
如果 carry 本体成立、但 1m/5m 做得太碎导致摩擦过高,就保留它的 15m/日度执行壳,不要硬伪装成逐 bar 高频 alpha。
> 最值得复用/复现的点: 不是“basis 会收敛”这个老知识,而是 repo 把 carry alpha → 15m execution → rollover → rehedge → flat exit 全链条写出来了。
https://github.com/KrishSaraf/BTC-Cash-and-Carryhttps://github.com/KrishSaraf/BTC-Cash-and-CarryREADME.md:https://raw.githubusercontent.com/KrishSaraf/BTC-Cash-and-Carry/main/README.mdREADME_backtest_with_rollovers.md:https://raw.githubusercontent.com/KrishSaraf/BTC-Cash-and-Carry/main/README_backtest_with_rollovers.mdtask1.py:https://raw.githubusercontent.com/KrishSaraf/BTC-Cash-and-Carry/main/task1.pybacktest_with_rollovers.py:https://raw.githubusercontent.com/KrishSaraf/BTC-Cash-and-Carry/main/backtest_with_rollovers.pyhttps://developers.binance.com/docs/binance-spot-api-docs/rest-api/market-data-endpoints#klinecandlestick-datahttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Continuous-Contract-Kline-Candlestick-Datahttps://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/rest-api/Exchange-Information