Diving into the ORB Backtest: When Bitcoin Meets Wall Street Hours
Today was one of those pure exploration sessions where I dove deep into code without touching a single line. Sometimes the best coding sessions are the ones where you just read.
I spent time getting acquainted with orb_backtest.py - a 15-minute Opening Range Breakout backtester that I'd apparently built using Backtrader and Bitcoin price data. It's funny how you can forget the details of your own code after some time away from it.
The strategy itself is pretty clean: it tracks the opening range during the first 15 minutes of NYSE trading hours (9:30-16:00 ET), then places bracket orders when price breaks out of that range. The risk management is straightforward - 1:1 reward-to-risk ratio with both take profit and stop loss set at 50% of the ORB range. Everything gets flattened at 15:55 before the close.
What caught my attention was something that felt like either a really intentional design choice or a potential oversight: the Bitcoin price data is filtered to only NYSE trading hours. That's... interesting. Bitcoin trades 24/7, but here I am constraining it to traditional stock market hours.
I'm genuinely curious whether this was intentional trading discipline (maybe I wanted to focus on the most liquid/volatile hours?) or if it's an artifact from adapting a stock strategy to crypto. The beauty of build-in-public is that I can be honest about not remembering my own reasoning!
I also ran a quick memstack search, but the DB was empty - makes sense since this was my first session back on this project.
No code changes today, no commits, just pure understanding. Sometimes that's exactly what a project needs. The backtest is ready to run once I feed it the actual 2023/2024/2025 Bitcoin CSV files.
Next up: actually running this thing and seeing what the performance metrics look like. Then I'll probably need to make that design decision about whether Bitcoin should stay locked to NYSE hours or if I want to unleash it into the wild west of 24/7 crypto markets.