The Question
Every ORB backtest so far has measured what happens during the trading session — the opening range, the breakout, the exit. None of them have asked a more basic question: on these 28 stocks, how much of the total return even happens during that window, versus while the market is closed overnight?
This isn’t a backtest. There’s no strategy config, no trade plans, no P&L. It’s a plain decomposition of the historical price data itself, run directly against the database — cheap, fast, and worth doing before investing more engineering effort into refining an intraday-only strategy, because if most of a stock’s real movement happens overnight, ORB is structurally locked out of the part that matters, no matter how well-tuned its filters are.
The Data
For each instrument and trading day, the query pulls the day’s first and last 5-minute candle to get the official open and close, pairs that with the previous trading day’s close, and computes two log returns:
- Overnight return —
ln(today's open ÷ yesterday's close)— everything that happened while the market was shut. - Intraday return —
ln(today's close ÷ today's open)— everything that happened while it was actually trading.
Log returns are used because they add up cleanly across days and across the two segments — the overnight and intraday figures for a stock sum to its total return over the period, so the split is exact, not approximate.
Pooled across all 28 instruments (57,239 instrument-days)
| Overnight | Intraday | |
|---|---|---|
| Cumulative log return | 3.19 | 8.90 |
| Share of total return | 26.4% | 73.6% |
| Average per day | 0.0056% | 0.0155% |
Pooled, intraday carries roughly three times the average daily return of overnight — the opposite of the “classic overnight drift” pattern sometimes assumed for equities. That’s a reasonable headline, but it hides more than it reveals, which is why the per-instrument breakdown matters more than the pooled figure.
Per instrument, sorted by how intraday-favoured each one is
| Symbol | Days | Overnight | Intraday | Intraday − Overnight |
|---|---|---|---|---|
| STAN | 2,070 | −0.8166 | +1.8978 | +2.7144 |
| HSBA | 2,070 | −0.9407 | +1.6869 | +2.6276 |
| BARC | 2,008 | −0.6159 | +1.5609 | +2.1768 |
| DGE | 1,992 | −1.1766 | +0.7698 | +1.9464 |
| LLOY | 2,050 | −0.3450 | +0.9328 | +1.2778 |
| EXPN | 2,070 | −0.3836 | +0.8156 | +1.1992 |
| GSK | 2,070 | −0.4821 | +0.6907 | +1.1728 |
| REL | 2,070 | −0.2637 | +0.7247 | +0.9884 |
| NWG | 2,069 | +0.0004 | +0.8576 | +0.8572 |
| VOD | 2,067 | −0.4953 | −0.0065 | +0.4888 |
| IMB | 2,003 | −0.2780 | +0.1489 | +0.4269 |
| SBRY | 2,070 | −0.1349 | +0.2235 | +0.3584 |
| ULVR | 2,070 | −0.1552 | +0.1938 | +0.3490 |
| TSCO | 2,070 | +0.0566 | +0.3359 | +0.2793 |
| BT.A | 2,065 | −0.1394 | +0.0972 | +0.2366 |
| ADM | 2,070 | +0.2690 | +0.3932 | +0.1242 |
| BATS | 1,992 | +0.0445 | +0.1315 | +0.0870 |
| SHEL | 2,070 | +0.0837 | +0.1330 | +0.0493 |
| AZN | 2,070 | +0.4025 | +0.3821 | −0.0204 |
| CNA | 1,992 | +0.0293 | +0.0017 | −0.0276 |
| NG. | 2,066 | +0.3942 | +0.0401 | −0.3541 |
| ENT | 1,991 | −0.0600 | −0.5036 | −0.4436 |
| ANTO | 1,992 | +1.2394 | +0.3035 | −0.9359 |
| BA. | 1,992 | +1.2514 | +0.0147 | −1.2367 |
| RIO | 2,054 | +1.0309 | −0.4717 | −1.5026 |
| AAL | 2,053 | +1.2210 | −0.4150 | −1.6360 |
| MKS | 2,070 | +1.3710 | −0.9796 | −2.3506 |
| SMT | 2,013 | +2.0872 | −1.0624 | −3.1496 |
Bold rows are the 5 UK banks used in the banks-only rerun — all five sit in the top nine names, clearly clustered toward the intraday-favoured end. That’s not a coincidence I noticed after the fact — it’s the reason banks got tested as a subset in the first place.
What Overnight vs Intraday Means
“Overnight return” is everything that lands on the price between one day’s close and the next day’s open — company news released after hours, a US-listed peer’s earnings, an overnight move in a commodity price, index rebalancing, whatever the market decides overnight. “Intraday return” is everything that happens once trading actually starts and continues until the close.
Neither figure says anything about volatility or how choppy the ride was — a stock could gain 2% overnight in one smooth gap, or gain the same 2% intraday via a chaotic session that went up 5% and back down 3%. These numbers only measure net direction over each segment, not the path.
Why It Matters for ORB
Here’s the mechanical point that makes this relevant rather than just interesting: ORB’s opening range (08:00–08:30) is measured using prices that already reflect whatever happened overnight. The overnight move has fully landed by the time the range starts forming — it isn’t something ORB competes with, it’s something that’s already baked into where the day starts.
That means the overnight and intraday segments aren’t two sources of return ORB could plausibly choose between — they’re sequential, and ORB can only ever access the second one. If a stock’s real “information event” for the day already happened overnight (a broker note, a commodity move while London was asleep), the market has largely digested it by 08:00, and what’s left during the session is closer to noise or mean-reversion around the new level. ORB, which only ever trades the open→close window, is structurally locked out of the part of the move that actually mattered, and is left trying to find a signal in the aftermath.
Conversely, if a stock’s real driver plays out gradually during the session — order flow, intraday positioning, news that arrives while the market’s open rather than before it — the open→close window is where price discovery is actually happening, and an intraday breakout rule has something real to work with.
A Closer Look at the Pattern
The top of the table is dominated by the banks, but it isn’t exclusively banks — Diageo (DGE) and Experian (EXPN) sit right alongside them, both clearly intraday-favoured despite not being financials. The bottom is dominated by miners (AAL, RIO, ANTO) and BAE Systems (BA.), but Scottish Mortgage (SMT) and Marks & Spencer (MKS) are the two most overnight-favoured names in the whole set, and neither is a miner. So this is a real, useful pattern — not a clean one. It’s evidence worth acting on, not evidence of a single tidy sector rule.
One plausible explanation for the miners specifically, offered as a hypothesis rather than a proven mechanism: names like AAL, RIO and ANTO are priced heavily off commodity markets (copper, iron ore, gold) that trade around the clock and are dominated by US and Asian sessions — so a lot of “the news” for these stocks has often already happened by the time London opens.
The “banks are domestically driven” half of that story is weaker than it first looks. LLOY and NWG are genuinely UK-domestic retail banks, but HSBA and STAN aren’t — HSBC’s profits are dominated by Hong Kong and Asia, and Standard Chartered does no UK retail banking at all, operating almost entirely across Asia, Africa and the Middle East. If a domestic UK driver were really what puts banks at the intraday-favoured end, HSBA and STAN should behave more like the overseas-facing miners than like LLOY. They don’t — STAN and HSBA are actually the two most intraday-favoured names in the whole set, ahead of LLOY.
That’s a puzzle worth sitting with rather than a tidy explanation. A more likely candidate: what matters isn’t where a company’s business happens, but where its shares get priced. All five banks are LSE-listed, GBP-denominated, and heavily traded by UK institutional desks and index funds during London hours — the marginal trader setting the price is a London-hours trader, regardless of whether HSBC’s profits actually come from Hong Kong. That would predict exactly what’s observed: strong intraday price discovery for LSE-listed shares, independent of where the underlying business operates.
Even that doesn’t fully hold up, though — Diageo (DGE) has similarly global, overseas-heavy revenue to AstraZeneca (AZN), and the two behave completely differently: DGE is one of the most intraday-favoured names in the set, AZN sits close to flat. Overseas revenue exposure alone clearly isn’t the deciding factor for non-banks either. This is genuinely unresolved, and the DGE/EXPN/SMT/MKS exceptions are a good reminder not to over-fit a narrative onto 28 data points — worth flagging as an open question rather than papering over with a story that only half fits.
Where This Leads
This is what motivated re-running the whole ORB backtest series against the 5-bank subset instead of the full 28 — and checking with a permutation test whether the banks result was statistically distinguishable from a coin flip, or just a better-looking number on a smaller, cherry-picked sample. This post is just the observation that started it: not every instrument in this universe is fighting the same battle, and some of them may not be winnable by an intraday-only strategy at all, regardless of how good the strategy is.
