Skip to content

View original

BtcCmFundingPercentileExtremeReversionLS

Hypotheses

BTC COIN-M Inverse Perpetual Funding Extreme Mean-Reversion Long/Short (BINANCE_CM)

Hypotheses

A long/short, single-instrument, single-venue strategy on BTCUSD_PERP.BINANCE_CM — the BTC-margined inverse perpetual contract on Binance COIN-M futures. Implements funding-rate-extreme mean-reversion: when 8h funding rate hits the top 5% of the trailing 30-day distribution (extremely positive = long-side crowded, paying to hold), the crowded side has historically been punished within the next 24h as latecomers get squeezed out; conversely when funding hits the bottom 5% (negative = short-side crowded, paying to hold), longs benefit from reversal pressure. Strategy takes the OPPOSITE side of whichever side is structurally crowded per funding signal. Addresses the SECOND-LARGEST UNTOUCHED VENUE GAP in the portfolio: BINANCE_CM at 1/662 (0.2%) vs ≥5% target — currently essentially zero coverage of inverse / BTC-denominated futures despite 263 active COIN-M contracts in catalog. Hits THREE quota gaps simultaneously: (1) BINANCE_CM venue; (2) long_short direction (currently 12.0% vs implicit ~45% target); (3) implements analyst-recommended UNTRIED-on-COIN-M mechanism family (b) funding-rate divergence. The prior BtcFundingCarryLongShort I proposed used cross-venue (Binance USD-M + Hyperliquid) for DELTA-NEUTRAL CARRY collection — this strategy is fundamentally different: single-venue COIN-M, DIRECTIONAL bet (not delta-neutral), MEAN-REVERSION mechanism (not arbitrage). No overlap. ALSO orthogonal to all ADA 4H failure patterns: not breakout, not mean-reversion-on-price, not bar-based — this is funding-statistic-based, regime-independent, and uses a venue/contract-type that has zero prior experiments.

Hypotheses

QA's finding is a per-trade-margin failure, not a wiring failure: 650 well-populated trades, avg_trade_return_pct 0.0794% versus the ~0.10% COIN-M floor, turnover 46.6, avg_win $582 vs avg_loss $534 at a 0.50 hit rate. QA also stated the midrank/window construction is already the correct form, so I did NOT touch the signal — the two changes attack turnover and capture width only. (1) tail_pct 0.10 -> 0.05 halves the event rate so each trade sits deeper in the crowding tail; at ~650 trades previously this leaves a still-measurable ~250-350 trades. (2) The normalisation exit previously fired the instant the rank re-entered a symmetric band around the median, which structurally truncated every reversion at its midpoint — the mechanical explanation for avg_win ≈ avg_loss on a coin-flip hit rate. It now requires funding to cross THROUGH the median to the far side, with the time cap doubled to 12 bars (48h) to allow that. Both levers push avg_trade_return_pct up and turnover down, which is the only axis on which a 0.0794% book can reach the floor. Honest assessment, and the reason for my recommendation below: I do not expect this to clear. The direct sibling of this exact mechanism (BtcCmInverseFundingExtremeReversionLS) was abandoned as premise_falsified after conditioning the real COIN-M funding series on forward BTCUSD_PERP returns — the long leg after extreme-negative funding was NEGATIVE at every threshold and horizon tested, i.e. the sign of the effect is inverted, not merely small. This run's alpha -0.0018, IR -0.69 and Sharpe CI [-0.41, 0.96] are consistent with that null. Widening the capture window cannot restore an effect whose conditional forward return is zero-to-inverted, and the entire signal-bearing sample is confined to the ~1 year of COIN-M funding history that begins 2025-05, so there is no additional data to appeal to.

Hypotheses

verifying_stuck_3_timeouts

Implementation

Long/short funding-crowding fade on the BTC COIN-M inverse perpetual (BTCUSD_PERP.BINANCE_CM, 4H bars). Each 8h funding print is midranked against the trailing 90 prints (midrank is required because Binance caps COIN-M positive funding, creating long tie runs). Bottom-tail funding (shorts crowded and paying) => LONG; top-tail (longs crowded and paying) => SHORT. The signal is the continuous fade score 1 - 2*rank in [-1, +1], recomputed every bar. Exits when funding normalises through the median in the favourable direction, on a hold_bars time cap, or on a 5% protective stop. If the funding series is missing or stale the signal is neutral and nothing trades — there is no price-only fallback. Sizing risks risk_pct of equity against the stop, capped at max_gross_frac of equity, floored to whole $100 inverse contracts.

Outcome Summary

BtcCmFundingPercentileExtremeReversionLS treated funding as a crowding gauge — fading whichever side was extreme in the trailing 30-day funding distribution — on the near-empty BTC COIN-M venue, with a careful midrank construction to handle Binance's funding cap. An earlier iteration had run (~650 trades) but with per-trade returns below the CM fee floor and a coin-flip payoff, prompting a fix to trade only genuine extremes and hold reversions through the median. That revision never got evaluated: the verification stage stalled and, after three timeouts across two iterations, the run was abandoned as 'verifying_stuck_3_timeouts'. The outcome reflects a verification-process failure rather than a conclusion about the funding-reversion thesis.

Outcome Summary

A candidate must reliably clear the verification stage within its time budget or it dies before its edge is judged — repeated verifying timeouts end the run regardless of the signal's merit, and the earlier iteration's below-floor per-trade edge was never given the chance to be re-tested.

Outcome Summary

It was abandoned for 'verifying_stuck_3_timeouts': the verification stage failed to complete after three timeouts across two iterations, so the strategy never cleared verification to reach a fresh backtest, backtest review, optimization, or analysis. This is an infrastructure/verification-process failure, not a verdict on the mechanism.

Outcome Summary

A long-short, single-instrument, single-venue funding-extreme mean-reversion strategy on the BTC COIN-M inverse perp (BTCUSD_PERP.BINANCE_CM) that treated the 8h funding rate as a crowding statistic — ranking each print (midrank, to handle Binance's +0.01% funding cap) against a trailing 30-day window and fading the crowded side (short the top tail, long the bottom tail), exiting when funding normalized through the median, on a time cap, or a stop.

Outcome Summary

No performance data exists from this run — it never produced a completed backtest. The only figures are from a prior iteration referenced in the code: ~650 trades at avg_trade_return_pct 0.0794% (below the ~0.10% CM floor) with avg win $582 ≈ avg loss $534 at a coin-flip hit rate, which iteration 2 tried to fix by tightening the tail to 5% and holding reversions through the median.

Iteration History

Verification failed (Layer 4 — QA review) [class=no_edge]: - NO VIABLE EDGE / sub-floor per-trade return. Over 650 well-populated trades the funding-percentile fade is near-null: avg_trade_return_pct 0.0794% is BELOW the 0.10% CM viability floor (net-positive in the idealized backtest but inside the slippage/impact/OOS margin, and impact is already $7,084 with turnover 46.6). PF 1.089 (barely >1), win_rate 0.50 (coin-flip; long 0.51 / short 0.49), Sharpe 0.265 with CI [-0.41, 0.96] straddling zero, alpha -0.0018 (~zero), IR -0.69. avg_win $582 ~= avg_loss $534 with a coin-flip hit rate means the funding-percentile extreme doesn't predict a reversal; the +39% is thin and partly open-markup (end_unrealized +23.6%) / BTC beta (correlation 0.60). Same null as the earlier BTC-CM funding-extreme sibling (PF 0.99). The midrank/window construction is already the correct form, so the signal is searched-out with no parameter fix. - COIN-M funding history begins ~2025-05, so only ~1 year of the 5.8-year window generates signals (funding_events_available 1663). The ~1-year sample is well-populated (650 trades) and null — not a trade-count death, but confined to that recent regime.
Strategy report

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