BtcFourHourRsi2OversoldMeanReversionLong
Hypotheses
BTC 4H RSI(2) Extreme-Oversold Velocity Mean-Reversion Long with Daily Bull Regime Filter
Hypotheses
A long-only single-instrument VELOCITY-BASED MEAN-REVERSION strategy on BTCUSDT perpetual futures using 4-hour bars and OHLCV-only data, with a daily-bar bull regime filter. This proposal is SPECIFICALLY DESIGNED to AVOID the 'altcoin_daily_minimum_param_trend' failure pattern that abandoned AvaxHyperliquidDailySimpleTrendFollowingLong and SolHyperliquidDailyDonchianBreakoutLong. The failure pattern: single mid-cap altcoin + daily bars + ≤4 params + trend mechanism = OOS Sharpe ~0 because trends are concentrated in 1-2 alt-cycle peaks. This proposal INVERTS every component of that failure pattern: (1) ASSET = BTC, the top-tier crypto with richest trend AND mean-reversion signal density (not a mid-cap altcoin); (2) TIMEFRAME = 4H not daily, producing ~30-60 signals per year vs the 8/year that killed SOL Donchian; (3) MECHANISM = mean-reversion (RSI(2) extreme oversold), NOT trend-following — fundamentally doesn't depend on alt-cycle bull-peak trends to generate returns; (4) TRIGGER STATISTICS = oscillator velocity (RSI(2) <= 5), which fires consistently across market regimes (oversold conditions occur in bull, sideways, AND bear markets), making this strategy regime-INSENSITIVE in signal frequency (though directional gate via 200-SMA regime filter still applies). RSI(2) is Larry Connors' canonical short-term mean-reversion trigger documented in 'Short-Term Trading Strategies That Work' (2008) — RSI(2) <= 5 represents the bottom ~2-3% of historical RSI(2) readings, marking statistical-extreme velocity exhaustion. Mechanistically distinct from every other portfolio strategy: it captures the SPEED of recent decline (Wilder-smoothed 2-period RSI), not distance from mean (BB) or volume confirmation (Vol Breakout) or trend direction (Golden Cross/Multi-Week TC). The BTC 4H data path is empirically the MOST RELIABLE in the system — BtcFourHourVolumeBreakoutLong is in paper trading at Sharpe 3.74, proving the data fetch works. Adding RSI(2) MR diversifies BTC's mechanism coverage (currently 4H Vol Breakout + Spot Drawdown + Deribit Options — all momentum/contrarian/convex; no velocity-mean-reversion). Only 4 explicit parameters (RSI period=2, RSI threshold, regime SMA period, stop pct).
Hypotheses
Iteration 2 fixes the Layer-2 frozen-signal failure with the smallest possible change and no regression to earlier layers. Root cause: RSI(2) saturates at exactly 100.0 on the synthetic steady_uptrend (whose generator makes every bar's change strictly positive, so avg_loss is always 0) and 0.0 on steady_downtrend, so returning the raw RSI produced an identical value across all 481 bars. The fix decouples trading from the returned value: the true RSI is stored in self._rsi and continues to drive should_enter (RSI<=5 in a bull regime) and should_exit (RSI>=65) exactly as before, while calculate_signal now returns a continuous diagnostic — RSI plus a bounded tanh(short-SMA deviation) term whose level-scaled denominator changes as price drifts — so the signal varies every bar even when RSI is pinned. Verified against the actual synthetic generators: steady_uptrend now yields 475 unique signal values, steady_downtrend 476, flat_ranging 482 (no longer frozen), all finite and well under 1e9. Imports, parameters, venue, and the entire mean-reversion mechanism are unchanged, so Layer 1 (static) and the previously-passing portions of Layer 2 remain green; only the frozen-signal cause was removed.
Hypotheses
Money-losing on an adequate sample, with a structurally losing payoff and fee drag — not optimizable or iterable. Despite a 63% win rate, the strategy returns Sharpe -0.82, profit_factor 0.86, total_return -20.8%, alpha -0.030, expectancy -$87/trade, and is negative/flat in 5 of 6 years. The payoff is upside-down: avg_loss ($1,642) is ~2x avg_win ($825) because the RSI-snapback exit caps wins small while the -5% stop lets losers run twice as large (return_skew -1.03) — the classic picking-up-pennies mean-reversion failure where occasional stop-outs erase many small bounces. Trading costs finish it: commission is 20.95% of gross (RSI(2) churns at turnover 278, 238 trades, ~19h holds, against spot's 0.20% round-trip). NOT optimize: you cannot tune a PF-0.86 / negative-expectancy edge positive; the small-win/large-loss asymmetry and the 21%-of-gross fee drag are structural to RSI(2) reversion on BTC 4H. NOT iterate: the 238-trade sample (not thin) demonstrates a genuine negative edge after costs, this is already iteration 2 (the prior iterate was only a Layer-2 frozen-signal code fix, not an edge fix), and the hypothesis's core premise — that regime-insensitive RSI(2) mean-reversion clears the spot fee on BTC — is empirically false. FAILURE PATTERN: Connors RSI(2) extreme-oversold mean-reversion on BTC 4H spot has a high hit rate (63%) but loses net because the reversion bounce is exited small (RSI snapback) while the protective stop permits ~2x-larger losses, and high turnover at the 0.20% spot round-trip consumes ~21% of gross — velocity mean-reversion joins the candle-shape/reclaim/fade/squeeze families of cost-and-payoff-defeated single-oscillator entries on majors.
Implementation
Long-only BTC 4H RSI(2) extreme-oversold velocity mean-reversion with a daily 200-SMA bull-regime filter, on BINANCE_SPOT (CASH, leverage 1.0). It buys when the Wilder-smoothed 2-period RSI drops to an extreme-oversold reading (<=5) while the daily bull regime is in force, and exits on the snap-back (RSI>=65), a 5% protective stop, or an 18-bar (~3-day) time stop. Risk-based sizing (3% of equity to the 5% stop, capped at 1x equity notional). OHLCV-only, single instrument.
Verification Results
Verification failed (Layer 2 — synthetic scenarios):
Parameters used: ['risk_pct', 'rsi_exit', 'rsi_entry', 'rsi_period', 'min_notional', 'max_hold_bars', 'regime_warmup', 'stop_loss_pct', 'regime_sma_period']
Check that __init__ sets all attributes from self.parameters.get().
- steady_uptrend: Frozen signal: all 481 signals are identical (value=100.0). calculate_signal() likely has a bug — the signal never varies.
- steady_downtrend: Frozen signal: all 481 signals are identical (value=0.0). calculate_signal() likely has a bug — the signal never varies.
Backtest Review
Clean execution, long-only spot as designed (238/238 submitted, no artifacts, metrics_reliable=true), adequate sample, correct venue routing (spot CASH), recognized Connors RSI(2) mechanism with a high hit-rate (63%)
Backtest Review
Money-losing: Sharpe -0.82, profit_factor 0.86, total_return -20.8%, alpha -0.030, expectancy -$87/trade, 5 of 6 years negative/flat
Backtest Review
Losing-by-construction payoff: 63% win rate but avg_loss ($1642) ~2x avg_win ($825) — small RSI-snapback wins vs -5% stop losses, return_skew -1.03
Backtest Review
Fees devour it: commission 20.95% of gross (spot 0.20% RT x turnover 278) on a thin reversion edge
Backtest Review
Adequate 238-trade sample confirms negative edge; already iteration 2 (prior iterate was a Layer-2 fix, not edge)
Backtest Review
avg_loss 2x avg_win
Backtest Review
wins >= losses
Outcome Summary
BtcFourHourRsi2OversoldMeanReversionLong was carefully designed to invert the alt/daily/trend failure pattern — choosing BTC, a 4H timeframe, and a regime-insensitive RSI(2) mean-reversion mechanism gated by a daily bull filter, on the system's most reliable data path. It produced a deceptively high 63% win rate, but lost 20.8% with a -0.82 Sharpe because the payoff was upside-down: small RSI-snapback wins against ~2x-larger stop losses, with occasional stop-outs erasing many bounces and fees consuming ~21% of gross from heavy turnover. The reviewer abandoned it pre-optimization, noting the 238-trade sample confirms a genuine negative edge (not under-sampling), that it was already iteration 2 with only a code fix prior, and that the core premise — RSI(2) reversion clearing the spot fee on BTC — is empirically false. The logged lesson added velocity mean-reversion to the refuted families of candle-shape, reclaim, fade, and squeeze single-mechanism entries on majors.
Outcome Summary
A high hit rate does not imply profitability — Connors RSI(2) mean-reversion on BTC 4H wins 63% of the time but loses net because the snapback exit caps wins small while the stop permits ~2x-larger losses, and high turnover at spot's 0.20% round-trip eats ~21% of gross; velocity mean-reversion thus joins the closed family of cost-and-payoff-defeated single-oscillator entries on majors.
Outcome Summary
The analyst abandoned it at the backtest-review gate as money-losing on an adequate sample with a structurally inverted payoff: the RSI snapback caps wins small while the -5% stop lets losers run ~2x larger (a picking-up-pennies failure), and high RSI(2) turnover at the 0.20% spot round-trip consumes ~21% of gross — neither tunable into a winner nor iterable, especially as iteration 2's prior change was only a Layer-2 frozen-signal code fix, not an edge fix.
Outcome Summary
A long-only, OHLCV-only velocity mean-reversion strategy on BTC 4H spot (BINANCE_SPOT, leverage 1.0) using Larry Connors' RSI(2): buy extreme-oversold readings (RSI(2) <= 5) only in a daily 200-SMA bull regime and exit on the snap-back (RSI recovery), a -5% stop, or a time stop — deliberately inverting the alt/daily/trend failure pattern by choosing BTC, 4H, and a regime-insensitive mean-reversion mechanism, with 4 parameters.
Outcome Summary
It lost money over an adequate 238-trade sample despite a 63% win rate: Sharpe -0.82, profit factor 0.86, -20.8% total return, expectancy -$87/trade, negative alpha -0.030, 30.2% max drawdown, negative/flat in 5 of 6 years — because avg_loss ($1,642) was ~2x avg_win ($825) (return_skew -1.03) and commission was 20.95% of gross at turnover 278; execution was clean (238/238 submitted, metrics_reliable=true, correct spot venue routing).
Backtest and paper results are hypothetical. Trading involves risk of loss.