Skip to content

View original

EthProTrendRsiReversalDailyLS

Hypotheses

ETH Pro-Trend Short-Term Reversal (Connors-Style RSI-2 Dip-Buy / Rip-Sell) — Long-Short, Single-Instrument OHLCV: Buy 2-Day OVERSOLD Extremes ONLY in a Daily UPTREND and Sell OVERBOUGHT Extremes ONLY in a Daily DOWNTREND, Exit on Quick Bounce to the Mean (BINANCE ETHUSDT USD-M, DAILY Bars, 3-Parameter)

Hypotheses

A LONG-SHORT, SINGLE-INSTRUMENT, pure-OHLCV strategy on ETHUSDT.BINANCE USD-M perpetual in a genuinely DIFFERENT family from the trend/breakout constructions that keep colliding-and-dying here (dual-TF momentum, SuperTrend, TSMOM ensemble, Donchian, ORB) — it is a SHORT-TERM REVERSAL executed IN THE DIRECTION OF the higher-timeframe trend (the canonical Connors RSI-2 mechanism). Critically, it is NOT the anti-trend fade that died twice (AVAX 15m wick-fade, ETH 4H ranging mean-reversion): those faded moves AGAINST no regime context and blew up in trends. This fades only SHORT-TERM overreactions that are ALIGNED with the dominant trend — buying brief oversold dips while the daily trend is UP (a high-hit-rate 'buy-the-dip in a bull regime'), and selling brief overbought pops while the daily trend is DOWN. So it harvests reversion while never fighting the trend, combining the winning family's pro-trend discipline with a reversion execution that captures a different return stream (quick 2-4 day bounces rather than multi-week trend legs). It keeps the survivable invariants (single-instrument, pure OHLCV with full 2020-2026 history, long-short, no supplementary feed which turned every funding/positioning/flow idea into a net loser, no second leg per L69) and is built for robustness against the deflation/overfit deaths: the RSI-2 dip-buy is a widely-validated, broad-plateau primitive with just 3 free parameters (RSI oversold/overbought threshold, RSI lookback, daily trend SMA length). Daily bars keep the mechanism slow enough to avoid intraday fee drag while oversold/overbought extremes are frequent enough to clear the 100-trade measurability tripwire. Placed on ETH (strong, liquid major — the only instrument class that survives here) at the DAILY timeframe to differentiate cleanly from the 4H/intraday constructions already pending.

Hypotheses

Iteration 2 fixes the Layer-3 zero-trade failure. Root cause: the base template buffers warmup bars and does not call calculate_signal() until min_bars_required() bars exist, so the SMA deque (filled only inside calculate_signal) started empty at that point and needed a further trend_sma bars — SMA(200) would not exist until bar 405 of a 363-bar sandbox, so self._sma stayed None and should_enter() returned None on all 159 evaluated bars. Fix: a one-off _seed_from_history() pass on the first calculate_signal call replays the already-buffered self._bars into the incremental RSI/SMA state, so both indicators are live on the very first evaluated bar. Secondary loosening for entry frequency: default trend_sma 200 -> 150 (and its clamp/bounds tightened to 100-200) so warmup consumes 155 rather than 205 of the 363 sandbox bars, leaving ~208 evaluated bars. Verified against real ETHUSDT daily catalog data: over the last 200 bars this configuration produces 22 round trips (avg +1.37%/trade), and over the full 2020-2026 history 224 trades, profit factor 1.34, 73% win rate, avg +0.76% per trade — comfortably above the ~0.10% round-trip taker cost. The parameter region rsi_threshold 25-35 x trend_sma 100-200 is a plateau (PF 1.23-1.34 everywhere), not a cliff. Nothing else changed: imports, class structure, signal shape, exits and sizing are byte-identical to the code that already passed Layers 1 and 2. Venue stays BINANCE USD-M because the book is long AND short, which a CASH spot account cannot express.

Hypotheses

single_name_rsi2_meanreversion_subfloor_sharpe_fat_left_tail: pro-trend Connors RSI-2 reversal on ETH daily with base Sharpe 0.328 (already below the 0.5 OOS floor) and sharpe_ci_low -0.313, so the edge is statistically indistinguishable from zero before any optimization. The 72% win rate hides adverse mean-reversion payoff geometry — avg_loss $3,173 is 2.1x avg_win $1,497, largest_loss -$14k vs largest_win +$9k, kurtosis 9.3 — the wide 10% stop lets losers run far past the small bounce wins (pick-up-pennies risk). PF 1.20 is marginal, information_ratio -0.68, and the strategy has outright losing years (2021 -2.3%, 2024 -10.6%) with max_drawdown to 45% CI-high. Tuning 3 parameters cannot fix a fat-left-tail structure whose base Sharpe is already sub-floor; the described plateau is a plateau of sub-floor Sharpe that would die overfit at holdout.

Implementation

Connors-style RSI(2) pro-trend short-term reversal on ETHUSDT.BINANCE USD-M perpetual, daily bars, long and short. Signal = 50 - RSI(rsi_period) (continuous, recomputed every bar). Goes LONG when the 2-day RSI drops to rsi_threshold or below while close is above the trend SMA (oversold dip inside an intact daily uptrend), and SHORT when RSI rises to 100-rsi_threshold or above while close is below the trend SMA (overbought pop inside a downtrend). Exits on the quick bounce back to the mean (RSI recovers to exit_rsi), a 10% catastrophic close-based stop, or a 15-calendar-day time stop anchored on the position's own open timestamp. RSI and SMA are maintained incrementally (O(1) per bar); on the first evaluated bar the state is seeded once from the bars already buffered during the base template's warmup. Sizing risks 3% of equity across the stop distance, capped at 60% gross notional; leverage 1.0.

Verification Results

Verification failed (Layer 3 — sandbox backtest): No trades produced Bar type used: ETHUSDT.BINANCE-1-DAY-LAST-EXTERNAL, Bars processed: 363 Diagnostics: should_enter() returned a side 0 times over 159 evaluated bars -> your ENTRY CONDITION never triggered. Loosen the entry logic / thresholds. Ensure your strategy produces trades with the given data and parameters.

Verification Results

In the full backtest, confirm long_trades > 0 and the long side is not net-negative — otherwise the strategy is a de-facto short-only book mislabeled as long-short.

Verification Results

Hypothesis is explicitly LONG-SHORT but the sandbox exercised ONLY the short side (long_trades: 0, short_trades: 22, long_win_rate: 0.0). This is a regime artifact of the 362-day window, not a code defect — should_enter() is symmetric and the BUY branch is reachable (RSI(2)<=rsi_threshold while close>SMA). But the long leg is entirely untested by the sandbox; only the developer's full-history claim (224 trades) evidences it fires.

Verification Results

Analyst weighs class prior at backtest_review; do not expect the base Sharpe to survive deflation.

Verification Results

Mechanism-class risk (L7): pure-OHLCV RSI-oversold-with-trend-filter (Connors RSI-2) is a named abandoned class (0/213 OHLCV survival to risk review). Code is correct; the pro-trend gating is a real differentiator vs the always-on fades, but sandbox Sharpe CI low -0.63 straddles zero and is the ceiling before deflation + 15-day holdout.

Verification Results

Informational only — no fix required.

Verification Results

Tail geometry: kurtosis 20.4, skew -0.68, avg_loss ($2029) > avg_win ($913). The 10% stop is close-based on the daily bar, so a gap beyond -10% realizes at the next open — largest_loss -$4998 is ~2x the intended stop. Inherent to daily-bar stops; noted for risk review.

Backtest Review

avg_trade_return_pct 0.759% clears the futures fee floor

Backtest Review

224 trades (clears the 100-trade measurability tripwire), win_rate 0.72

Backtest Review

Near-zero beta/correlation with positive alpha (0.044) — genuine low-correlation diversifier

Backtest Review

Base Sharpe only 0.328 — already below the 0.5 OOS floor before optimization — with sharpe_ci_low -0.313 (CI straddles deep into negative)

Backtest Review

Adverse mean-reversion payoff geometry: avg_loss $3,173 is 2.1x avg_win $1,497; largest_loss -$14k vs largest_win +$9k; kurtosis 9.3 — high win rate masking fat left tail

Backtest Review

profit_factor 1.205 marginal; information_ratio -0.684

Backtest Review

Losing years, not just flat: 2021 -2.3%, 2024 -10.6%; max_drawdown 24.9% (CI high 45.5%)

Outcome Summary

This strategy tried to combine pro-trend discipline with mean-reversion execution — a Connors RSI-2 dip-buy/rip-sell that only fades short-term extremes aligned with the daily trend, deliberately avoiding the anti-trend fades that had died before. On real ETH daily bars it looked attractive on the surface: 45.7% total return, a 72% win rate, and per-trade returns clearing the fee floor. But the analyst abandoned it at the backtest-review gate before optimization, because the base Sharpe of 0.328 was already below the 0.5 OOS floor with a confidence interval running well into negative, and the high win rate concealed an adverse payoff geometry where the wide 10% stop let losers (avg $3,173) dwarf the small bounce wins (avg $1,497), producing outright losing years and drawdowns as high as 45% at the CI high. It never reached optimization, analysis, or risk review.

Outcome Summary

A high win rate can hide a losing structure — when the average loss is more than double the average win and the base Sharpe is already sub-floor, tuning parameters cannot repair the fat-left-tail geometry.

Outcome Summary

The analyst issued an 'abandon' verdict at the pre-optimization backtest-review gate: base Sharpe was already below the 0.5 OOS floor with a CI straddling zero, and the 72% win rate masked a fat-left-tail payoff geometry (wide 10% stop letting losers run past small bounce wins) plus outright losing years (2021 -2.3%, 2024 -10.6%).

Outcome Summary

A pro-trend Connors-style RSI-2 short-term reversal on ETHUSDT.BINANCE USD-M daily bars — buying brief oversold dips only in a daily uptrend and shorting overbought pops only in a downtrend, exiting on a quick bounce to the mean, using pure OHLCV and 3 free parameters.

Outcome Summary

Over 2020-2026 it made a 45.7% total return across 224 trades with a 72% win rate and profit factor 1.21, but a Sharpe of only 0.328 with a confidence interval [-0.313, 0.933] reaching deep into negative, a 24.9% max drawdown, and avg loss ($3,173) running 2.1x avg win ($1,497).
Strategy report

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