_meta: id: 29 name: "ORB Gainers V23 Safe" status: experimental parent: orb_gainers_v23 description: > V23 파생 전략 — "안전 투자자" 버전. 수익률을 희생해서 손실을 최소화하는 것이 목표. V23 대비 5가지 방향으로 보수화: 1. 레짐 필터 강화: QQQ 갭 0.15% → 0.30% (더 강한 상승 장세만 진입) 2. 진입 품질 상향: min_rvol 1.5→2.0, min_candidate_breadth 0.60→0.70 3. 포지션 크기 축소: risk_per_trade 5%→3%, max_simultaneous 3→2 4. 손실 governor 강화: rolling_loss -7%→-3%, drawdown_governor 2.5%→1.5% 5. 일일 손실 컷: daily_max_loss 5%→3%, max_stops_per_day 5→3 streak_sizing 비활성화 (승리 시 포지션 키우지 않음 — 안전 우선) strategy_mode: orb orb_strategy: engine_family: gainers_leader live_readiness: experimental orb_minutes: 5 sim_bar_minutes: 5 entry_direction: long_only order_timeout_minutes: 45 allow_doji_breakout: true allow_red_to_green_breakout: true min_price: 10.0 min_avg_dollar_volume: 25000000 min_atr_14: 0.50 min_atr_pct: 0.04 # === SAFE CHANGE: higher rvol requirement (was 1.5) === min_rvol: 2.0 # === SAFE CHANGE: slightly higher gap floor (was 0.02) === min_abs_gap_pct: 0.025 min_premarket_dollar_vol: 1500000 max_candidates: 20 max_candidates_per_sector: 3 min_candidates_to_trade: 1 ticker_cooldown_days: 0 max_gap_pct: 0.04 # === SAFE CHANGE: higher breadth requirement (was 0.60) === min_candidate_breadth: 0.70 # === SAFE CHANGE: stronger QQQ regime required (was 0.0015 = 0.15%) === market_regime_spy_threshold: 0.003 market_regime_ticker: QQQ rolling_loss_days: 7 # === SAFE CHANGE: stop much sooner on bad streaks (was -0.07) === rolling_loss_threshold: -0.03 # === SAFE CHANGE: max 2 simultaneous positions (was 3) === max_simultaneous_entries: 2 min_breakout_rel_vol: 1.2 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 atr_stop_multiplier: 0.75 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 # === SAFE CHANGE: smaller position risk (was 0.05) === risk_per_trade_pct: 0.03 max_position_pct: 0.70 # === SAFE CHANGE: cut daily losses sooner (was 0.05) === daily_max_loss_pct: 0.03 # === SAFE CHANGE: stop the day after 3 stops (was 5) === max_stops_per_day: 3 exit_minutes_before_close: 5 slippage_bps: 5.0 initial_capital: 10000 compound_returns: false daily_budget_reset: true settlement_days: 1 # === SAFE CHANGE: tighter portfolio DD governor (was 0.025) === drawdown_governor_threshold: 0.015 drawdown_governor_min_scale: 0.30 # === SAFE CHANGE: no streak sizing boost (was bonus=0.70, max=2.5) === streak_sizing_win_bonus: 0.0 streak_sizing_max: 1.0 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