源文件:research/quant_digests/2026-04-13_1808_samevenue-basis-zscore-shell.md
README.md + src/config.yaml + src/signals/threshold_strategy.py + src/signals/position_manager.py + src/backtest/backtest_engine.py + src/backtest/portfolio.py + src/backtest/execution_simulator.py + src/backtest/funding_calculator.py + FINAL_SUMMARY.md)+ Binance public 1h/15m portability probelong spot + short perp,perp 明显偏便宜就做反向腿,赚的是 spread 回归加上 funding 辅助,而不是赌单边方向。> base alpha = same-venue spot↔perp basis mean reversion。
这份 repo 值得收进素材池,不是因为它“工程做得完整”这么空泛,而是因为它确实把一条 relative-value / carry / basis raw alpha 写成了完整可执行壳:
翻成人话:
所以它不是 filter,也不是 overlay;它本体就是一条 可独立回测的 raw alpha。
mariamlulu2025-10-30T10:20:01Z2025-10-30T10:25:33ZDelta-neutral spot ↔ perpetual basis mean-reversion system for crypto (BTC/ETH) — backtest + reporting.reports/artifacts/quant_digests/2026-04-13_delta_basis_binance_probe.pyreports/artifacts/quant_digests/delta_basis_binance_probe_summary_2026-04-13.csvreports/artifacts/quant_digests/delta_basis_binance_probe_costladder_2026-04-13.csvreports/artifacts/quant_digests/delta_basis_binance_probe_detail_2026-04-13.csv> 这份 repo 最有价值的地方,是把 same-venue basis z-score fade 写成了完整 raw-alpha 壳;但 public-data first verdict 很清楚:gross edge 只有个位数十分之一 bps/笔,8 bps round-trip 就全灭,repo 默认 40 bps 成本位更是直接判死。
> 证明不是靠 README 口号,而是靠源码参数 + Binance public spot/perp/funding 180d 快检:BTC/ETH 在 1h 与 15m 上的平均每笔 gross+funding 只剩 0.35 ~ 0.78 bps,而 8 bps round-trip 后四个 bucket 的平均净值全部落到 -7.2 ~ -7.65 bps/笔。
这个问题必须先回答,不然就会跟今天早些时候的 funding/basis digest 混成一类。
这轮仍值得写,原因是它补的是另一件事:
short perp + long spot 更像正期望;FINAL_SUMMARY.md 直接写:4,140 笔交易、97% max drawdown、$58,304 fees+slippage、0% win rate;> 这条线的问题究竟出在 alpha 本体,还是出在成本与落地方式?
src/config.yaml 给的默认参数非常清楚:
BTC/USDT, ETH/USDTbinance, bybit1h180d336h|z| >= 2.0|z| < 0.5|z| > 4.0336h0.53x8h2 bps、taker 5 bps、slippage 5 bps/side只看配置就知道: 这不是随手写个 z-score notebook, 而是一条已经明确了 entry / exit / sizing / risk / cost 的策略壳。
src/signals/threshold_strategy.py 的逻辑就是:
|z| >= z_entry 开仓|z| < z_exit 平仓|z| > z_stop 止损而且注释写得很清楚:
perpetual > spot,预期 basis 向下回归,因此做 long spot + short perpperpetual < spot,预期 basis 向上回归,因此做反向腿翻成人话: > 它不是在找趋势确认,而是在赌“偏得太远就会往回收”。
src/backtest/portfolio.py / src/signals/position_manager.py 里至少把下面几件事写实了:
NAV × notional_fraction 算;10% cash buffer;fees_paid / funding_payments / pnl;time_exit。这意味着它不是单纯“找信号”,而是真把资金占用、持有时长、组合管理也纳进来了。
src/backtest/execution_simulator.py 和 src/backtest/funding_calculator.py 的价值在于:
8h 结算;也正因为如此,repo 最终才会老老实实得出一组很难看的结果。
FINAL_SUMMARY.md 给出的 6 个月回测摘要非常刺眼:
4,140 trades executed97% max drawdownSharpe ≈ 0(文中写成 -0.000)0% win rateTotal Costs = $58,304所以这份 repo 最适合 desk 的读法不是: > “basis MR 不存在。”
而是: > “这条壳存在,但 broad same-venue taker 版大概率只是在给成本打工。”
我没有直接照抄 repo 的内部数据文件,而是用公开 API 重做了一版最小实验:
180dBTCUSDT, ETHUSDT1h 与 15m336h|z| >= 2|z| < 0.5|z| > 4336hbasis_bps 的收敛收益8 / 16 / 24 / 40 bps round-trip 成本阶梯1h BTC 平均每笔 gross+funding = 0.51 bps13865.2%3 bars这很关键: 命中率不算差,但单笔 edge 小得离谱。
1h ETH 是四个 bucket 里最好的,也只有 0.78 bps/笔13267.4%3 barsETH 比 BTC 好一点,但也只是“gross 还活着”,离可交易还远。
15m 后,频率上来了,edge 没跟着来BTC 15m:454 笔,0.40 bps/笔ETH 15m:398 笔,0.35 bps/笔3 bars(约 45m)也就是说: > 把这套 z-score 壳直接翻译到 15m,并不会自动变成更适合 short-cycle desk 的高频 alpha,只会把原本就很薄的 gross 切得更碎。
8 bps round-trip 后四个 bucket 全灭BTC 1h:-7.49 bps/笔ETH 1h:-7.22 bps/笔BTC 15m:-7.60 bps/笔ETH 15m:-7.65 bps/笔这里没有“个别币还能勉强过线”的侥幸,四个 bucket 全部为负。
40 bps round-trip 成本位几乎等于直接宣判失败BTC 1h:-39.49 bps/笔ETH 1h:-39.22 bps/笔BTC 15m:-39.60 bps/笔ETH 15m:-39.65 bps/笔这跟 repo 自带 summary 里的巨大成本损耗是同方向的。
平均每笔 funding 贡献大约是:
BTC 1h:+0.10 bpsETH 1h:+0.21 bpsBTC 15m:+0.03 bpsETH 15m:+0.05 bps所以这条线不是“funding 一加就复活”,而是: > funding 只是把一个极薄的 basis MR gross 稍微抬高了一点点,远远抬不过广义 taker 成本。
我现在对它的判断是:
这点不用含糊:
这也必须钉死: > same-venue、双腿都按 taker 近似去做的 broad basis-zscore fade,不是我们现在该直接上线的主线。
如果还想沿这条线继续挖,最合理的方向不是再调几个 z-score 参数,而是把适用场景主动缩窄:
long spot + short perp;perp cheap 分支往往需要 spot short / borrow plumbing,落地难度更高。1h 当 admission 层,15m / 5m 当 execution 层15m 当重新发现 alpha 的主频;8~40 bps 大幅砍下来,几乎没有讨论价值。不要继续泛泛地说“basis 可能有用”。下一轮最小实验应该直接这样做:
1h admission × 5m/15m execution研究假设
1h basis-zscore 只当慢 admission,而不是直接按 1h next-open 执行,则 rich-perp 一侧在 5m/15m 上可能存在更低滑点的 close-out pocket。具体动作
1h 上保留:z >= 2 的 rich-perp 触发;long spot + short perp 单边;15m 上等 basis 开始缩窄、或 microstructure 失衡转弱时进;5m 上只优化 exit,不重新找入场;2 / 4 / 6 / 8 bps。优先加两类 gate:
8 bps 后仍为正的 surviving trade ratio> 4 bps如果这三条里第一条都过不了,就别再给它加更复杂的模型层了。
> 这份 2025 delta-basis repo 值得收进研究池,不是因为它证明了 same-venue basis MR 很赚钱,而是因为它把这条 raw alpha 的完整壳和失败方式都写得足够清楚:alpha 本体不是零,但 broad taker 版 edge 只有 0.35~0.78 bps/笔,一上 8 bps 成本就全灭。对 short-cycle desk,真正该继续测的是 1h admission × 5m/15m maker-first execution 或直接转向 cross-venue richer pocket。