Strategies
BTC Spot-Perp Premium Catch-Up Long (Cross-Venue Basis Signal)
Outcome: Abandoned
BtcSpotPerpPremiumCatchUpLongCrossVenue
Outcome Summary
BtcSpotPerpPremiumCatchUpLongCrossVenue traded BTC spot long off a perp-premium signal, betting that leveraged perp positioning leads spot with a 1-3 day catch-up lag, filling the under-quota cross-venue dimension without funding exposure. The idea was well-coded — 460 clean long-only entries, timestamp-aligned legs, active trend filter — but the edge was negative in every year (PF 0.86, Sharpe -1.43, expectancy -$134, -23.3% return) with fees eating 19.2% of gross. The analyst ruled it a refuted premise rather than a tuning problem: the basis converges via the perp falling, not spot rising, so buying spot on premium catches the losing leg, and recommended fading the premium instead. It ended after one iteration as abandoned, never advancing to optimization or risk review.
Hypothesis
Implementation
Long-only cross-venue basis strategy. Trades BTCUSDT on BINANCE_SPOT (CASH) using the BTCUSDT.BINANCE perpetual as a leading microstructure signal. Computes basis_bps = (perp_close - spot_close)/spot_close * 10000 each 4H bar (the perp leg is timestamp-aligned to spot by the base class's same-timeframe sync barrier, so the basis is never computed on a stale leg). When the perp trades at a meaningful PREMIUM (basis_bps >= entry threshold) AND spot is in an uptrend (close > SMA(trend_period)), it buys spot to capture the ~1-3 day catch-up move as the basis normalizes -- no shorting (CASH-legal) and no perp position (no funding exposure). Exits on take-profit, stop-loss (capital-relative %), basis normalization (basis_bps <= exit threshold), or a max-hold cap. Sizing is capital-relative and CASH-capped (notional <= equity * position_frac, no leverage). OHLCV-only, no supplementary data.
Backtest Review
- Sharpe
- -1.43
- Total return
- -30.93%
- Max drawdown
- 35.38%
- Trades
- 460
- Win rate
- 45.2%
- Profit factor
- 0.86
Mechanism is implemented correctly and matches the hypothesis: 460 long-only spot entries, 0 shorts, signals fire cleanly (460/460 submitted, 0 dropped), cross-venue spot/perp legs are timestamp-aligned, trend filter active.
Ample sample size (460 trades over ~6 years) and good cross-venue dimension coverage — the idea was well-formed and well-coded.
Negative edge in EVERY regime: annual returns negative for 2020, 2021, 2023, 2024, 2025 — not a window-specific or cliff problem that tuning can fix.
Profit factor 0.86 (<1.0), Sharpe -1.43, Sortino -2.50, alpha -0.036, expectancy -$134/trade — the signal has no positive edge to optimize toward.
Fee-fragile: commissions were 19.2% of gross on a spot CASH account (~0.20% RT); even a marginal raw edge would be consumed. avg_trade_return is negative, far below the >0.25% spot bar.
Premise appears empirically refuted: perp premium does not lead spot's catch-up on a 1-3 day horizon — basis convergence happens largely via the perp reverting down, so buying spot on premium captures the wrong leg.
negative in all 5 years
positive OOS
Outcome Summary
Perp premium does not lead a bullish spot catch-up: cross-venue basis convergence occurs mainly through the perp reverting down rather than spot rising, so longing spot on premium systematically captures the wrong half of the convergence — if the cross-venue basis dimension is still wanted, reframe to fade the perp premium / mean-revert the basis rather than re-run the long-the-premium logic.
It was abandoned at the pre-optimization backtest-review gate (verdict: abandon) as a premise failure, not a code bug — the 'perp premium leads spot's catch-up' thesis is empirically refuted (basis convergence happens largely via the perp reverting down to spot, so buying spot on premium catches the losing leg) — and with a uniformly negative result across all regimes there is no robust region to optimize, so optimization and all later stages were never reached.
A long-only cross-venue basis microstructure strategy — trading BTCUSDT on BINANCE_SPOT (CASH, long-only) while reading the BTCUSDT.BINANCE perpetual as a leading signal: when the perp traded at a premium to spot (basis_bps ≥ threshold) within an SMA uptrend, buying spot to capture the expected 1-3 day catch-up as the basis normalizes, exiting on take-profit, stop-loss, basis normalization, or a max-hold, with no funding exposure and OHLCV-only data.
Over ~6 years and 460 long-only spot entries (signals firing cleanly, 0 dropped) it had a negative edge in every regime: profit factor 0.86, Sharpe -1.43 (CI [-3.26, 0.32]), Sortino -2.50, expectancy -$134/trade (avg_trade_return -0.13%, below the >0.25% spot bar), total return -23.3%, 33.7% max drawdown, negative annual returns in 2020/2021/2023/2024/2025, with commissions at 19.2% of gross on the ~0.20% RT spot account.
Backtest and paper results are hypothetical. Trading involves risk of loss.