# ORB v62 Sweep — Stop distance fix for compound_returns=True # # Problem: v61 uses atr_stop_multiplier=0.01 → stop≈$0.02 per trade # 5bps slippage on $50 stock = $0.025/side → slippage > stop → unrealistic # With compound_returns=True over 1,000 days: 1.027^1000 ≈ 3.8 trillion% # # Fix: Find realistic atr_stop_multiplier where stop >> slippage # Benchmark: 5bps × 2 sides × $50 = $0.05 total slippage # Typical ATR for mid-large cap: ~$1.50–$2.50 # multiplier=0.05 → stop≈$0.09 (1.8× above total slippage — marginal) # multiplier=0.10 → stop≈$0.18 (3.6× buffer) # multiplier=0.20 → stop≈$0.36 (7× buffer) # multiplier=0.30 → stop≈$0.54 (10× buffer) ← practical minimum # multiplier=0.50 → stop≈$0.90 (18× buffer) # # compound_returns=True is fixed across all 5 combinations. # 5 × 1 = 5 combinations # # Run: python -m apps.intraday_bt.run --config configs/intraday/strategies/orb_v61_trail01.yaml \ # --sweep configs/intraday/sweep_orb_v62_stop.yaml --start 2022-01-01 base_config: configs/intraday/strategies/orb_v61_trail01.yaml sweep: # Realistic stop distances: stop must exceed 2-way slippage ($0.05) atr_stop_multiplier: [0.05, 0.10, 0.20, 0.30, 0.50] # Force compound returns (this is what caused the 3.8T% result with v61's 0.01) compound_returns: [true]