|
|
# ORB Phase 6 — Fine-Grained Parameter Tuning
|
|
|
#
|
|
|
# After Phases 1-5 identify major parameter levers, Phase 6 does precision tuning:
|
|
|
# 1. min_rvol (Phase 3 only tested 0.5/1.0/2.0 — fine-grain around 1.0)
|
|
|
# 2. atr_stop_multiplier (Phase 1 winner 1.0 — test nearby values)
|
|
|
# 3. max_gap_pct fine-grain (Phase 3b showed 0.05 best — test 0.04/0.05/0.06)
|
|
|
# 4. exit_minutes_before_close (currently 5 — does earlier exit help?)
|
|
|
#
|
|
|
# 3 × 3 × 3 × 3 = 81 combinations
|
|
|
#
|
|
|
# Run:
|
|
|
# python -m apps.intraday_bt.evaluate \
|
|
|
# --config configs/intraday/orb_p5_winner.yaml \
|
|
|
# --sweep configs/intraday/sweep_orb_p6_fine.yaml \
|
|
|
# --start 2022-01-01 --split-date 2025-01-01 \
|
|
|
# --top-n 81 --oos-sort \
|
|
|
# --output runs/intraday_orb/phase6_eval.json
|
|
|
|
|
|
base_config: configs/intraday/orb_p5_winner.yaml # UPDATE to Phase 5 winner (or p4_winner if momentum=0.0)
|
|
|
|
|
|
sweep:
|
|
|
# RVOL threshold: how strong must the volume signal be?
|
|
|
min_rvol: [0.70, 1.0, 1.30]
|
|
|
|
|
|
# ATR stop tightness (currently 1.0)
|
|
|
atr_stop_multiplier: [0.75, 1.00, 1.25]
|
|
|
|
|
|
# Max gap fine-grain (Phase 3b: 0.05 was best)
|
|
|
max_gap_pct: [0.04, 0.05, 0.06]
|
|
|
|
|
|
# Exit before close (currently 5 min)
|
|
|
exit_minutes_before_close: [3, 5, 10]
|
|
|
|
|
|
compound_returns: [false]
|