# ORB Phase 4 — Composite Ranking Weights + Risk Per Trade # # Phase 1-3 fixed: entry direction, bar size, stop management, universe/risk filters. # Phase 4 tunes the composite ranking signal that picks which breakouts to trade. # # New signals available (currently weight=0): # weight_body_ratio: ORB candle body size (bullish body = strong buying pressure) # weight_momentum: 5-day prior return aligned with breakout direction # # Weights don't need to sum to 1.0 — normalized per-day before weighting. # # 3 × 3 × 3 × 2 = 54 combinations # # IMPORTANT: Update base_config to Phase 3 winner before running! # # Run: # python -m apps.intraday_bt.evaluate \ # --config configs/intraday/orb_p3_winner.yaml \ # --sweep configs/intraday/sweep_orb_p4_weights.yaml \ # --start 2022-01-01 --split-date 2025-01-01 \ # --top-n 54 --oos-sort \ # --output runs/intraday_orb/phase4_eval.json base_config: configs/intraday/orb_p3_winner.yaml sweep: # RVOL weight (baseline signal) — currently 0.60 weight_rvol: [0.40, 0.60, 0.80] # Gap weight (premarket activity proxy) — currently 0.25 weight_gap: [0.15, 0.25, 0.35] # Body ratio weight (new: bullish ORB candle body = buying conviction) — currently 0.0 weight_body_ratio: [0.0, 0.15, 0.30] # Risk per trade — currently 0.0025 risk_per_trade_pct: [0.001, 0.002, 0.0025] compound_returns: [false]