Skip to content

View translation

FundingContrarianBtcMeanReversion

Hypotheses

Funding-Contrarian BTC Mean Reversion

Hypotheses

Fade crowded perpetual funding on BTCUSDT (Binance USD-M futures). Core signal: when 8h funding turns sharply negative (shorts crowded / paying longs), go LONG BTC and hold ~24-72h for the short-squeeze mean-reversion bounce. Empirical basis: 6.5yr Binance backtest of 7,162 funding events shows a monotone contrarian relationship — corr(funding, next-24h return) = -0.028; funding <= -0.02% (n=53) yields +2.87% net-of-fee 24h return with a 71.7% win rate, and funding <= -0.01% (n=159) yields +1.44% net at 63.5% win. Symmetric short-side variant: fade positive funding spikes (>= +0.05%), the only bucket with negative forward returns (-0.16% median 24h). Params to sweep: entry funding threshold (-0.01% to -0.05%), hold horizon (24/48/72h) vs exit-on-funding-normalization, and optional confirmation filter (price already down into the negative print). Long side routes to BINANCE USD-M futures with leverage>1 (funding-based edge); avg net trade return ~+1.4-2.9% clears the ~0.10% round-trip taker fee comfortably. Note extreme buckets are thin (n=12-53), so validate for robustness/overfitting on the 3-phase optimizer.

Hypotheses

Implements the hypothesis directly: fade crowded perpetual funding. entry_funding_long=-0.01% and entry_funding_short=+0.05% match the empirically monotone contrarian buckets (funding<=-0.01% -> +1.44% net 24h at 63.5% win; positive spikes the only negative-forward bucket). calculate_signal returns the raw continuous -funding decision variable every bar so it varies and carries conviction; should_enter thresholds it in matching funding units. Hold horizon (max_hold_hours) plus a funding-normalization exit capture the 24-72h reversion window and let the optimizer sweep hold vs exit-on-normalization. Optional price-confirmation filter (use_confirmation) is parameterized for the sweep. Routed to BINANCE USD-M futures with leverage=3 wired into position_size (equity*capital_frac*leverage/price) because the edge is funding-based and needs shorts + margin; avg net trade return ~1.4-2.9% clears the ~0.10% round-trip taker fee.

Hypotheses

failed deflated Sharpe: DSR=0.0133, expected-max=4.8401 over 225 trials — the selected optimized Sharpe (2.232) sits far below the best-of-N luck bar and is statistically indistinguishable from noise (is_significant=false, sharpe_ci_low=0.0061 straddling 0, PBO=0.7289>0.5; probabilistic_sharpe 0.9712 vs DSR 0.0133 is the textbook PSR-vs-DSR selection-inflation trap). Decisively, the untouched time-ordered HOLDOUT FAILED and is NEGATIVE (holdout_sharpe -3.4716, ratio -13.079). The walk-forward is is_overfitted=TRUE: avg IS 4.381 collapses to avg OOS 0.265 with windows [0.0, 0.796, 0.0] — the tightened optimized thresholds (entry_funding_long -9.25e-5, entry_funding_short 7.31e-4) produce NO trades in two of three OOS windows. Sensitivity is clean (0 cliffs) but the entire base grid sits ~1.0-1.5 Sharpe, uniformly far below the 4.84 luck bar, so there is no robust region above significance to tune toward. Funding is now credited by the engine, but this is a DIRECTIONAL funding-contrarian bet (not a delta-neutral carry), so the funding-credit note is not the crux — the strategy adds no risk-adjusted value over BTC: NEGATIVE information_ratio in both base (-0.304) and optimized (-0.546) forms with benchmark_meaningful=true, atop a brutal 66.8% base max drawdown (2021-02 month -44%, 2021-02-08 day -23.5%). Not iterate (attempt 1 of 2): per the overfit->abandon rule this is high-IS/zero-and-negative-OOS overfitting with PBO 0.73 and a negative holdout, and with the whole sensitivity surface below the luck bar a second best-of-225 sweep re-selects noise. Not revise_hypothesis: BTCUSDT.BINANCE is a valid, data-rich instrument with no promoted sibling stranded on a dead target — this is overfitting-to-search on a fine target, not a proven mechanism awaiting a reframe. FAILURE PATTERN: a directional funding-contrarian mean-reversion on single-asset BTC (long crowded-short negative funding, short positive funding spikes) has a real but weak and regime-bound edge that cannot survive best-of-225 selection — the ~285-trade sample thins under per-window walk-forward until two OOS windows are empty (IS 4.38 -> OOS 0.265), the holdout goes deeply negative (-3.47), DSR is 0.013 with the optimized Sharpe below a 4.84 luck bar, PBO 0.73, and the strategy carries a negative information ratio vs its own BTC buy-hold. A clean 0-cliff sensitivity surface and a high probabilistic_sharpe (0.9712) measure parameter stability and single-config consistency, not statistical significance or forward-generalization; the symmetric short side (flagged marginal in the hypothesis) is a net drag.

Implementation

Funding-contrarian mean-reversion on BTCUSDT Binance USD-M perpetual futures using 1-HOUR bars. Reads 8h funding rates from supplementary data via a precomputed sorted index (O(log n) bisect lookup per bar). Signal = -funding (continuous): goes LONG when funding is deeply negative (crowded shorts paying longs, expecting a short-squeeze bounce) and SHORT when funding spikes strongly positive (crowded longs). Exits on funding normalization, a max hold horizon (default 48h), stop-loss, or take-profit. Sizes positions capital-relative with 3x leverage.

Backtest Review

285 trades (123 long / 162 short) over 6.5 years — ample sample for statistically meaningful parameter optimization

Backtest Review

Trades match the hypothesized mechanism: longs on deeply negative funding (crowded shorts), shorts on positive funding spikes; entry_diag confirms all 285 signals submitted with zero size/notional/cash drops

Backtest Review

Genuine base edge: Sharpe 1.04, profit_factor 1.17, positive expectancy ($512/trade), positive alpha 0.126 on low beta 0.116 (benchmark_meaningful=true), win_rate 0.56

Backtest Review

Severe max_drawdown of 66.8% with avg_position_pct 118% (leveraged) — sizing/stops clearly need tuning

Backtest Review

Short side is the weak half (short_win_rate 0.537 vs long 0.593) and the hypothesis itself flags the positive-funding bucket as thin/marginal; optimization should test enable_short=False

Backtest Review

Negative information_ratio (-0.30) vs BTC buy-hold and modest CAGR 15.4% — the edge is diversifying (low beta) but not a market-beater; extreme funding buckets are thin (n=12-53), so overfitting risk is real for the optimizer to police

Analysis

Trades faithfully implement the hypothesis (long deeply-negative funding, short positive funding spikes); 285 base / 184 optimized trades, zero entry drops

Analysis

Low market beta (0.07-0.12) — genuinely diversifying exposure if it had an edge

Analysis

Sensitivity surface is clean (0 cliff parameters), so the failure is significance/forward-generalization, not parameter fragility

Analysis

Holdout FAILED and is NEGATIVE: holdout_sharpe -3.47, ratio -13.08 — loses on untouched data

Analysis

Walk-forward is_overfitted=TRUE: avg IS 4.38 -> avg OOS 0.265 with OOS windows [0.0, 0.796, 0.0], two of three empty

Analysis

Failed deflated Sharpe: DSR 0.0133, optimized Sharpe 2.232 below the 4.84 best-of-225 luck bar, PBO 0.729, sharpe_ci_low 0.0061 straddling 0 (is_significant=false)

Analysis

Negative information_ratio vs BTC buy-hold (base -0.30, optimized -0.55) — adds no risk-adjusted value over simply holding BTC

Analysis

Severe base max_drawdown 66.8% (2021-02 month -44%, 2021-02-08 day -23.5%); the short side is the weak half (short_win_rate 0.526 optimized) as the hypothesis itself flagged

Outcome Summary

FundingContrarianBtcMeanReversion faded crowded perpetual funding on BTCUSDT, going long on deeply negative funding and short on positive funding spikes to capture the mean-reversion bounce. Its 6.5-year base backtest showed a genuine but weak edge — Sharpe 1.04, 285 trades, positive expectancy — enough for the backtest-review gate to greenlight optimization despite a brutal 66.8% drawdown and a negative information ratio vs BTC. The 3-phase optimizer inflated the in-sample Sharpe to 2.23 but exposed the overfitting: PBO 0.73, a deflated Sharpe of just 0.013 against a 4.84 luck bar, walk-forward OOS collapsing to 0.265 with two empty windows, and a holdout that went deeply negative at -3.47. The analyst abandoned it on the first iteration as high-IS/negative-OOS overfitting on a real-but-marginal edge that offered no risk-adjusted value over simply holding BTC.

Outcome Summary

A clean sensitivity surface and high probabilistic Sharpe measure parameter stability, not forward-generalization — a thin (~285-trade), regime-bound directional funding edge that sits ~1.0-1.5 Sharpe uniformly below the best-of-N luck bar cannot survive best-of-225 selection and should not be pushed through optimization.

Outcome Summary

The analyst abandoned it at the post-optimization ANALYZING stage: it failed the deflated Sharpe test (DSR 0.0133 vs a 4.84 best-of-225 luck bar), was flagged is_overfitted=TRUE (avg IS Sharpe 4.38 collapsing to OOS 0.265 with two of three OOS windows empty), had PBO 0.73 and a negative holdout, and added no risk-adjusted value over BTC (negative information ratio).

Outcome Summary

A funding-contrarian mean-reversion bet on BTCUSDT (Binance USD-M futures) that went long on deeply negative 8h funding (crowded shorts) and short on large positive funding spikes, holding ~24-72h for the reversion bounce.

Outcome Summary

The base backtest over 6.5 years produced 285 trades (123 long / 162 short) with a Sharpe of 1.04, 56% win rate, +78.9% total return and positive expectancy (~$512/trade), but carried a severe 66.8% max drawdown and a negative information ratio (-0.30) vs BTC buy-and-hold. Optimization lifted the in-sample Sharpe to 2.23 (184 trades) but the holdout went deeply negative (holdout_sharpe -3.47, ratio -13.08).
Strategy report

Backtest and paper results are hypothetical. Trading involves risk of loss.