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
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
|