# ORB Phase 2 Winner — Stop Management # # Phase 2 sweep (60 combos, IS 2022-2024 / OOS 2025-present): # Best OOS Sharpe: 1.56 (breakeven=1.0, trailing_at=2.0, trailing_atr=0.3) # OOS return: +27.1%, OOS max DD: -8.8%, OOS trades: 3533, OOS WR: 50.6% # # Note: Phase 2 showed minimal differentiation (~0.01 Sharpe spread across 60 combos, # identical trade counts). Entry selection dominates exit management — Phase 3 focus. # # Parameters fixed here vs orb_p1_winner.yaml: # breakeven_at_r: 1.0 (confirmed — 0.5 cuts winners too early) # trailing_at_r: 2.0 (unchanged — all top 10 converged here) # trailing_stop_atr_multiplier: 0.3 (slightly better than swing-low mode) strategy_mode: orb orb_strategy: # ORB window orb_minutes: 5 sim_bar_minutes: 5 # Phase 1 winner # Entry entry_direction: long_only # Phase 1 winner order_timeout_minutes: 45 # Phase 3 will sweep this # Universe quality filters min_price: 10.0 min_avg_dollar_volume: 25000000 min_atr_14: 0.50 # RVOL-based candidate selection min_rvol: 1.0 # Phase 3 will sweep this max_candidates: 20 # Phase 3 will sweep this min_candidates_to_trade: 3 # Composite ranking weights weight_rvol: 0.60 weight_gap: 0.25 weight_dollar_vol: 0.15 # ATR-based stop management (Phase 1+2 winner values) atr_stop_multiplier: 1.00 # Phase 1 winner breakeven_at_r: 1.0 # Phase 2 winner trailing_at_r: 2.0 # Phase 2 winner trailing_stop_atr_multiplier: 0.3 # Phase 2 winner # Risk-based position sizing risk_per_trade_pct: 0.0025 max_position_pct: 0.20 daily_max_loss_pct: 0.0125 # Phase 3 will sweep this max_stops_per_day: 3 # Phase 3 will sweep this # Exit exit_minutes_before_close: 5 # Execution slippage_bps: 5.0 initial_capital: 10000 ticker_cooldown_days: 0 # Cash account settlement settlement_days: 1 # Gap filter max_gap_pct: 0.03 # Phase 3 will sweep this # Market regime filters (disabled) market_regime_spy_threshold: null min_candidate_breadth: null 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