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