源文件:research/quant_digests/2026-03-31_1420_frontback-annualized-basis-calendar-spread-alpha.md
看了 abailey81/Crypto-Statistical-Arbitrage 这个 2026 GitHub 仓库的 strategies/futures_curve 模块,重点审了 __init__.py、calendar_spreads.py、futures_walk_forward.py。README 里写了 BTC futures curve 策略 Sharpe 5.81、总收益 203.70%、最大回撤 0.89%、总交易 44,652,这些绩效先不要信;真正有价值的是:它把 entry / exit / sizing / risk / walk-forward 骨架都公开了,足够我们做一轮诚实的 first verdict。
avg_basis > 15% 且处于 contango 时,做 long near / short far;avg_basis < -10% 且处于 backwardation 时,反向做 short near / long far。这已经是完整 raw alpha,不只是 filter。5% 附近止盈,short calendar 在 basis 回升到 -3% 附近止盈;若 basis 继续朝不利方向多走 5%,或者 near DTE < 7、持有 > 90 天,就强制离场。max_position_pct=25%,再乘 signal_strength × liquidity × regime_multiplier;危机期再乘 0.3,并加 venue capacity 上限。这说明它不是“有信号没执行壳”的半成品。当前 momentum 项目已经不缺“再来一个 breakout / retest / funding ranking”的 intake;更缺的是 能直接扩充 raw alpha 素材池、且与现有素材不完全同质 的方向。这个主题的好处有三点:
15m 监控、5m 精细入场,不要求 tick 级 order book;entry / exit / sizing / risk / cost 一次性写齐,适合作为 desk 的完整策略候选,而不是只当辅助过滤器。>= 7、front/back DTE 差 >= 30、流动性分数、可选 funding 一致性校验25% 资本上限、signal-strength/liquidity/regime 乘数、危机期 size-down、4-leg 成本模型、到期前强平、basis adverse move 5% 止损1~5 天存在足够稳定的收敛,能覆盖四腿手续费与滑点。basis_i = (F_i / S - 1) * 365 / DTE_i * 100avg_basis = (basis_near + basis_far) / 2avg_basis > 15、regime=contango、nearDTE >= 7、far-near DTE >= 30avg_basis < -10、regime=backwardationavg_basis < 5;short 在 avg_basis > -3;若自开仓后 adverse basis move 超过 5,立刻止损15m 作为交易时钟,5m 只用于更细的入场定位;样本先拉 2024-01 ~ now。若 spot 难拿,可先用同 venue perp mid 作为 spot proxy,但必须单独记录 proxy 误差。post-cost net bps / trade 与 holding-days distribution;第二层再看 basis half-life 与 capacity after four-leg costs。如果 trade count 很低但单笔边际厚,就把它当 event alpha,不强求 always-on。5m/15m K 线回测很容易高估 fill quality;正式复现时最好切到 mid + bid/ask 或 top-of-book 近似。https://github.com/abailey81/Crypto-Statistical-Arbitragehttps://github.com/abailey81/Crypto-Statistical-Arbitrage.gitstrategies/futures_curve/__init__.py(默认参数:15%/-10% entry、5%/-3% exit、5% stop、7 天 near DTE 下限)https://github.com/abailey81/Crypto-Statistical-Arbitrage/blob/main/strategies/futures_curve/__init__.pystrategies/futures_curve/calendar_spreads.py(entry / exit / sizing / cost / crisis adjustment 核心逻辑)https://github.com/abailey81/Crypto-Statistical-Arbitrage/blob/main/strategies/futures_curve/calendar_spreads.pystrategies/futures_curve/futures_walk_forward.py(walk-forward、危机期参数调整、regime adaptive 外壳)https://github.com/abailey81/Crypto-Statistical-Arbitrage/blob/main/strategies/futures_curve/futures_walk_forward.py