Research · In Progress · Stack: R
Opening Range
Breakout in SPY
Does a popular intraday strategy produce real edge after transaction costs and volatility adjustment?
SPY
Intraday
Backtesting
Risk-adjusted
R
01Research Question
Many traders claim the opening range breakout (ORB) is a repeatable edge. This project tests whether an ORB strategy in SPY produces excess risk-adjusted returns after accounting for volatility and transaction costs — and whether that edge is consistent across market regimes or concentrated in specific conditions.
Hypothesis: ORB may show positive gross returns but marginal or negative net returns after realistic transaction costs — and performance likely varies significantly by volatility regime.
02Method
- Universe: SPY (S&P 500 ETF)
- Signal: Break above/below the first 15 minutes of the session
- Risk metrics: Sharpe ratio, max drawdown, win rate, average trade return
- Robustness: Performance split across low/high volatility regimes, subperiod stability
- Costs: Realistic bid/ask spread and commission assumptions applied to all evaluation
03Progress
- Dataset foundation — Structured historical SPY intraday dataset assembled for ORB evaluation.
- Backtest framework in R — Reusable entry/exit logic with trade-by-trade tracking built.
- Performance metrics — Sharpe, drawdown, win rate, and average trade return framed and ready.
- Next: Finalize dataset integrity checks, run full backtest, produce regime comparison.
04Planned Outputs
- Equity curve and drawdown curve
- Return distribution histogram
- Performance table — before vs after costs
- Regime comparison — low vs high volatility periods
- Executive summary with key conclusions and caveats
05Next Steps
Finalize dataset integrity checks
Validate timestamps, missing bars, and session boundary assumptions before final outputs.
Run full backtest + diagnostics
Benchmark comparisons, turnover statistics, and stability analysis over subperiods.
Publish report-quality write-up
Clean charts, concise narrative, and replication-ready methodology — available for download when complete.