_meta: id: 38 name: "Hypergap Failure V1" status: aborted aborted_date: "2026-04-21" aborted_reason: > 3 tests all failed. Test 1 (quality filters + regime gate): -33%, WR ~27%. Test 2 (quality filters, no regime): -59%, WR ~25%. Test 3 (inverted quality - no rvol, no premarket_vol): -59.16%, WR 42.9%, DD -59.16%. Structural R/R problem: avg_win 3.55% < avg_loss 4.10%. Need WR ≥ 54% to break even at this R/R — unachievable. High-quality stocks fail hard but rarely; low-quality stocks fail often but with small moves. Neither profile yields positive expectancy on gap-failure shorts. Root cause: gap-up short positions have inherently adverse asymmetry (stocks rocket up when wrong, drift down slowly when right). No filter combination overcomes this. description: > Phase 3 / diagnostic: extreme-gap stocks (≥6%) that fail to hold the ORB. Hypothesis: V23's portfolio-level correlation (~0.40) with any long-momentum engine is regime-driven (both long-momentum, both triggered by QQQ-positive days). The only way to break regime correlation is to be directionally orthogonal. Gap failure = stock gaps up ≥6%, but ORB candle is bearish (sold off in first 5 min). Entry: short when price breaks below ORB low. On days when V23's stocks are succeeding (trend), these stocks should not be bearish-ORB (so no trades). On days when market reverses (V23 losing), gap stocks are more likely to fail → shorts enter → anti-correlation. Gate: WR ≥ 42% (shorts tolerate lower WR than longs due to asymmetric payout), total_return ≥ 0%, max_dd ≥ -20%. strategy_mode: orb orb_strategy: engine_family: hypergap_failure_v1 live_readiness: research_only orb_minutes: 5 sim_bar_minutes: 5 entry_direction: short_only # only trade bearish ORB candles (gap failure) order_timeout_minutes: 45 allow_doji_breakout: false allow_red_to_green_breakout: false # === Candidate filters: extreme gap pool (≥6%), same quality bars as V23 === min_price: 10.0 min_avg_dollar_volume: 25000000 min_atr_14: 0.50 min_atr_pct: 0.04 min_rvol: null # inverted: allow low-rvol retail stocks (test #3: invert quality) min_abs_gap_pct: 0.06 # extreme gap: ≥6% (gap failure more likely above this threshold) min_premarket_dollar_vol: null # inverted: allow low-premarket-vol retail stocks max_candidates: 20 max_candidates_per_sector: 3 min_candidates_to_trade: 1 ticker_cooldown_days: 0 max_gap_pct: null # no cap min_candidate_breadth: null # no breadth gate — operate on any breadth day market_regime_spy_threshold: null # no QQQ regime gate — need to find own signal first market_regime_ticker: QQQ rolling_loss_days: 7 rolling_loss_threshold: null # no rolling loss kill — diagnostic mode max_simultaneous_entries: 3 min_breakout_rel_vol: null # === Scoring weights (same as V23) === weight_rvol: 0.35 weight_gap: 0.20 weight_dollar_vol: 0.05 weight_premarket_dollar_vol: 0.25 weight_body_ratio: 0.0 weight_momentum: 0.15 # === Stop / exit (conservative start for diagnostic) === atr_stop_multiplier: 1.0 # wider stop for shorts (gap stocks can be volatile) breakeven_at_r: 1.0 trailing_at_r: 1.0 trailing_stop_atr_multiplier: 0.8 trailing_tighten_at_r: 2.0 trailing_stop_atr_multiplier_tight: 0.3 partial_exit_at_r: 99.0 partial_exit_pct: 0.50 risk_per_trade_pct: 0.05 max_position_pct: 0.70 daily_max_loss_pct: 0.05 max_stops_per_day: 5 exit_minutes_before_close: 5 slippage_bps: 5.0 initial_capital: 10000 compound_returns: false daily_budget_reset: true settlement_days: 1 drawdown_governor_threshold: 0.025 drawdown_governor_min_scale: 0.30 streak_sizing_win_bonus: 0.70 streak_sizing_max: 2.5 universe: source: midlarge backtest: start_date: null end_date: null lookback_trading_days: 200 cache: enabled: true dir: data/cache/intraday output: dir: runs/intraday_orb verbose: false