You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
4.0 KiB
YAML

_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