SolOiSurgeSqueezeReversalLS
Hypotheses
SOL USD-M Open-Interest Squeeze-Reversal, Long-Short (Single Instrument SOLUSDT.BINANCE Perp, 4h Bars, Trade the Snap-Back After a Sharp Price Move Accompanied by a SURGE in Open Interest = Fresh Trapped Leverage, ~1 Day Hold, 3-Parameter)
Hypotheses
A LONG-SHORT, single-instrument contrarian strategy on SOLUSDT.BINANCE (USD-M perp, 4h bars) whose core signal is the RATE-OF-CHANGE of aggregate OPEN INTEREST (sumOpenInterest from the multi-year Binance Vision metrics feed) combined with the concurrent price move — a fundamentally different data feed and mechanism than long/short account-ratio positioning. The thesis: a sharp price move that is accompanied by a rapid SURGE in open interest is driven by FRESH leveraged entrants chasing the move (new shorts piling into a dump, new longs chasing a rip). That fresh, one-sided, poorly-positioned leverage is the fuel for a squeeze/snap-back — it is structurally different from a move on FLAT or FALLING OI (which reflects position covering and tends to continue). We fade only the price move that has a fresh-leverage OI signature. This family appears nowhere in the failure log: it is not L/S-ratio positioning fade (different feed — raw OI, not account ratios), not OI-confirmed momentum (opposite polarity — that was long-only trend-follow and died no_trades), not funding-carry, not cross-sectional rotation, not options, not liquidation-feed dependent, and not plain OHLCV mean-reversion (the reversion is gated on the OI-surge microstructure signature, not just a price z-score). Single-instrument, 3-parameter, ~1-day hold to keep fee drag well below the target move.
Hypotheses
The Layer-4 rejection was measurability plus a latent bracket bug; the OI-reading, fade logic, and conservative bracketed sizing already passed Layers 1-3, so I made the two smallest targeted changes. (1) Measurability: QA identified that the >=5% OI surge is the rare half of the conjunction (sharp 5% SOL moves are common), so ~5 trades/yr. I loosened the two threshold defaults — move_thresh 0.05->0.03 and oi_surge_thresh 0.05->0.02 — which keeps a genuine sharp-move-plus-fresh-leverage signature (2% OI growth over 12h is still a real surge, not flat/falling) while multiplying the firing rate several-fold toward the ~100-trade full-window floor; these are two of the three tuned params, so adjusting them is in-scope and the optimizer can refine. (2) Bracket-seeding bug: I now evaluate new-entry signals and set _last_trap ONLY WHILE FLAT. Since entries can only occur while flat anyway (the base gates should_enter on flat), no entry logic is lost, but _last_trap is now frozen for the life of an open position, so a fresh signal on the bar immediately after entry can no longer overwrite the open trade's stop/target — _track_position seeds the bracket from the correct entry-bar trap. Everything else is byte-for-byte unchanged: the OI series construction (metrics open_interest/timestamp keys, ms->ns, staleness-guarded nearest-preceding lookup, no look-ahead), the mandatory OI gate (missing OI -> no trade, so it always tests the hypothesis rather than degrading to price mean-reversion), the ATR bracket, the ~1-day hold, and the 1%-risk / 0.5x-gross / leverage-1.0 sizing that keeps a stop-out from liquidating. Imports are unchanged and clean. Fee headroom remains ample (3x-ATR reversion target ~6-12% vs the ~0.10% round-trip).
Hypotheses
No edge to optimize — the OI-surge fade thesis is backwards. On 412 well-sampled trades the result is decisively negative: Sharpe -0.73 (CI [-1.36, +0.01], almost entirely below zero), profit_factor 0.684, avg_trade_return_pct -0.727%, expectancy -$99.8/trade, probabilistic_sharpe 0.016, and EVERY full year negative (2022 -15%, 2023 -16%, 2024 -8%, 2025 -11%, 2026 -0.3%). Reward/risk is inverted (avg_loss $589 > avg_win $466) with a sub-50% win rate. The mechanism is clean this iteration (no liquidation, correct 16.6% sizing, measurability fixed), so this is a genuine strategy verdict, not a bug: fading sharp moves that carry a fresh-leverage OI surge loses consistently because those moves tend to CONTINUE at the 3-bar/1-day horizon, not snap back — the OI gate that was 'the whole edge' produces a reliably wrong-sided signal. Optimizing move_thresh/oi_surge_thresh/hold_bars cannot flip a -0.73 Sharpe mechanism that loses in all five full years. I do NOT recommend a naive polarity flip to continuation: the OI-confirmed-momentum sibling already died no_trades, and under TP/stop exits the opposite side does not have a complementary win rate, so flipping is a statistical fallacy rather than a validated reframe. Abandon.
Implementation
Long-short contrarian fade on SOLUSDT.BINANCE (USD-M perp), 4h bars, gated by aggregate open-interest rate-of-change. Over the prior 3 bars (~12h) it measures the price move and concurrent OI change (Binance Vision metrics sumOpenInterest, nearest-preceding lookup with staleness guard). When a sharp move (|ret| >= move_thresh 3%) coincides with an OI surge (oi_roc >= oi_surge_thresh 2%) — the fresh-trapped-leverage signature — it fades: a leveraged rip -> SHORT, a leveraged dump -> LONG. If OI is missing/flat it does not trade (never degrades to plain price mean-reversion). Each trade is entry-anchored bracketed: reversion take-profit at 3x ATR, hard stop at 2x ATR, and a ~1-day (6-bar) time cap. Sizing risks 1% of equity over the ATR stop, capped at 0.5x equity gross (leverage 1.0). 3 tuned params (move_thresh, oi_surge_thresh, hold_bars).
Verification Results
Verification failed (Layer 4 — QA review):
- Unmeasurable trade count. The sandbox produced only 5 closed trades over 363 days. metrics_reliable=TRUE reflects the multi-year data span, not sample size: 5 trades support no inference (avg_win is 2 trades, avg_loss 3; Sharpe CI a useless [-2.05,+0.93]; PF 0.417/win_rate 0.40 are noise at this n). The entry is a restrictive CONJUNCTION — a ≥5% price move over 12h AND a concurrent OI ROC ≥5% over the same window — and while sharp 5% SOL moves are common, requiring them to COINCIDE with a ≥5% OI surge is rare, firing ~5/yr. Full-window that's ~20-30 trades, far below the ~100 floor. The hypothesis's 'recur frequently enough' claim is falsified at these thresholds. Reject at Layer 4 rather than fit 3 params on ~20-30 trades through a full backtest+optimization.
- Intermittent bracket-seeding bug (same as the sibling DOGE trap strategy). The bracket is seeded in _track_position from self._last_trap on the FIRST bar the position is visible — the bar AFTER the signal (on the signal bar, _track_position runs before should_enter submits, so _was_in_pos stays False). calculate_signal overwrites _last_trap when a NEW signal forms, so a fresh signal on the bar right after entry seeds the open position with the wrong stop/target. Rare here (5 entries), cannot blow up (0.5x cap), but a real defect to fix while iterating.
Verification Results
Analyst/optimizer: worth the sensitivity/walk-forward look — explore move_thresh/oi_surge_thresh/hold_bars for a regime lifting avg_trade_return_pct clearly above 0.15% with PF>~1.2 OOS. If it stays near breakeven/below the floor OOS, abandon; the marginal in-sample result alone doesn't justify promotion.
Verification Results
Marginal edge just below the futures floor — analyst/optimizer should determine viability. On 49 well-sampled trades (metrics_reliable=TRUE): avg_trade_return_pct +0.138% (net-positive, clears the ~0.10% round-trip, just under the 0.15% floor), PF 0.950, win_rate 0.531, total_return -0.84% (near-breakeven), Sharpe -0.18 (CI [-1.88,+1.49] straddles zero). Unlike the earlier net-negative high-turnover fades, this is low-turnover (15.3), near-breakeven with a POSITIVE per-trade edge covering fees — genuinely borderline, not decisively dead. Whether the OI-surge-gated fade clears 0.15% OOS or is noise around breakeven is the analyst's call and the optimizer's job.
Backtest Review
Mechanically clean this iteration: no liquidation, correct sizing (avg_position_pct 16.6%), measurability fixed to 412 well-sampled trades (184 long / 228 short).
Backtest Review
OI-feed plumbing works — the strategy fires and brackets as designed.
Backtest Review
Decisively negative edge: Sharpe -0.73 (CI [-1.36, +0.01]), profit_factor 0.684, avg_trade_return_pct -0.727%, expectancy -$99.8/trade, probabilistic_sharpe 0.016.
Backtest Review
Every full year negative (2022 -15.4%, 2023 -16.3%, 2024 -7.8%, 2025 -11.0%, 2026 -0.3%) — no profitable regime.
Backtest Review
Inverted reward/risk (avg_loss $589 > avg_win $466) with sub-50% win rate — loses more often and bigger; omega 0.80, tail_ratio 0.67.
Backtest Review
The OI-surge fade thesis is backwards: sharp moves on fresh-leverage OI surges tend to continue, not snap back, at the tested horizon.
Backtest Review
Single-name intraday reversion-fade class that has died repeatedly this session.
Outcome Summary
This was iteration 2 of an open-interest squeeze-reversal idea that had fixed the prior run's measurability and bracket-seeding bugs, and mechanically it ran clean — no liquidation, correct 16.6% average sizing, 412 well-sampled trades on a working OI feed. But the edge was decisively negative: a -0.73 Sharpe, 0.684 profit factor, -0.727% per-trade return, and losses in every full year, with the strategy losing both more often and bigger than it won. The analyst concluded the core thesis was simply backwards — fresh-leverage OI surges accompany continuation, not reversal, at the ~1-day horizon — so the OI gate that was meant to be the whole edge produced a reliably wrong-sided signal. Because no parameter tuning can rescue a mechanism that loses across all regimes and a polarity flip isn't statistically validated, it was abandoned before optimization or any later stage was reached.
Outcome Summary
A clean, well-plumbed signal gate can still be reliably wrong-sided: OI-surge moves continue rather than revert at a ~1-day horizon, and a naive polarity flip to continuation isn't a validated fix because the opposite side lacks a complementary win rate under TP/stop exits.
Outcome Summary
The analyst issued an 'abandon' verdict at the pre-optimization BACKTEST_REVIEW gate, judging the OI-surge fade thesis backwards — moves with a fresh-leverage OI signature tend to CONTINUE rather than snap back at the tested horizon, producing a reliably wrong-sided signal that tuning the 3 parameters cannot flip.
Outcome Summary
A long-short, single-instrument contrarian strategy on SOLUSDT.BINANCE perp (4h bars) that faded sharp price moves accompanied by a surge in aggregate open interest — betting that fresh, one-sided leveraged entrants chasing a move are the fuel for a squeeze/snap-back, held ~1 day and gated entirely on the OI-surge signature.
Outcome Summary
Over 2,141 data days and 412 well-sampled trades (184 long / 228 short) it lost decisively: total_return -43.4%, Sharpe -0.73 (CI [-1.36, +0.01]), profit_factor 0.684, avg_trade_return_pct -0.727%, expectancy -$99.8/trade, with an inverted reward/risk (avg_loss $589 > avg_win $466) and a sub-50% win rate; every full year was negative (2022 -15%, 2023 -16%, 2024 -8%, 2025 -11%, 2026 -0.3%).
Backtest and paper results are hypothetical. Trading involves risk of loss.