// STONKHUB RESEARCH DIARIES
The Breakout That Trading Costs Ate
Published · By StonkHub Research
Evidence at a glance
Historical backtest · no live results
- Hypothesis
- An opening-range breakout predicts enough continuation to overcome trading friction.
- Test period
- November 1, 2021–September 1, 2026; 34,346 simulated opening-range trades across 91 stocks.
- Costs assumed
- Recorded model: 12.15 basis points per trade, described by the report as measured and Alpaca-realistic; not independently reconstructed here.
- Result
- Opening-range average fell from +0.44 gross to −11.71 net basis points per trade, below the preregistered hurdle.
- Limitations
- Dated engine; earnings-specific arm untested; failed-breakout rule was a proxy. Findings apply to the tested configurations.
- Next experiment
- Specify the literal event, validate the entry window, and test timestamped earnings data with separate rejection criteria and reserved evaluation data.
Source record: docs/research/2026-09-14-intraday-rerun-results.md. Historical report reviewed; no new backtest run.
A stock breaks above its opening range. The move looks decisive, volume is arriving, and the chart seems to offer a clean story: buyers have taken control, so follow them.
That was the lead behind one of our intraday research attempts. In this installment of StonkHub Research Diaries, the interesting part is how little of that story survived the trip from a chart to a cost model.
This is a retrospective of the September 14, 2026 research report. Its figures describe historical simulations under the recorded assumptions, not live account performance.
The lead
An opening-range breakout starts with the high and low established near the start of a trading session. The continuation hypothesis asks whether crossing that boundary predicts enough further movement to make entering worthwhile.
Our recorded test examined opening-range continuation, a gap-continuation control, and a proxy for fading a failed breakout. The opening-range experiment was the largest: 34,346 simulated trades across 91 stocks.
The study covered November 1, 2021, through September 1, 2026. It used $10,000 of starting capital and allowed up to 16 concurrent positions. The research design set its rejection criteria before inspecting this rerun's results.
The first challenge was the simulator
The report describes an earlier sweep with problems that could distort conclusions in either direction. Stops could be filled at the requested level even when a price gap would make that impossible. An opening-window gate also prevented entries when the strategy was meant to operate.
The rerun used a shared gap-through stop model and features designed for the opening session. Its relative-volume baseline compared activity with the corresponding time of day. These details matter because an attractive strategy name does not guarantee the code is actually testing that strategy.
One configuration still produced no trades because its rules contradicted each other. A 15-minute opening range needs time to form, but the entry deadline was also minute 15. The intended breakout could not happen after the range was established.
The corrected entry window was minutes 16 through 60. The report explicitly treated the impossible configuration as an invalid experiment, rather than evidence that the market offered no opportunity.
A tiny gross gain met a larger bill
The corrected opening-range run averaged +0.44 basis points per trade before costs. A basis point is one hundredth of a percentage point, so that gross return was only 0.0044% of the traded amount.
The recorded cost model deducted 12.15 basis points per trade. The resulting average was -11.71 basis points after costs. The gap-continuation control averaged -3.31 basis points before costs; the failed-breakout proxy averaged -0.03.
That is the central result. The opening-range setup had a small positive average before friction, but the modelled trading bill was much larger. Choosing the prettiest gross curve would have concealed the practical question.
The preregistered hurdle was deliberately higher than merely positive: roughly 20–22 gross basis points per trade, with uncertainty clearing the hurdle. The opening-range result fell far short, so the report did not proceed to walk-forward or regime tests for these configurations.
What the result does not settle
The gap experiment's earnings-specific arm never ran because the needed earnings feature lacked an intraday resolver. The failed-breakout experiment was also a proxy: it did not directly encode a prior breakout followed by a return inside the range.
Those questions remain untested. This report does not establish that every technical strategy fails, or that different execution, instruments, and information sources cannot matter. It gives a negative result for the configurations and assumptions actually evaluated.
The cost basis was described as measured and Alpaca-realistic, but these were simulated trades. The window also contains a particular collection of market conditions. Later simulator changes mean the dated report should be preserved rather than presented as a fresh rerun.
What we would do differently
Before adding more indicators, we would estimate the full cost hurdle and specify the exact event the strategy is meant to capture. A valid configuration must produce the intended trades before its returns tell us anything.
For another experiment, the earnings arm would need timestamped event data and a working resolver. The literal failed-breakout idea would need its own precise event definition. Both would get separate rejection criteria and reserved evaluation data.
The conclusion
The tested opening-range setup did not cover its trading costs. The lasting improvement was a simulator that could distinguish a failed idea from a test that never made sense.
Historical research is not investment advice or a live trading track record. Trading can lose money. Read the financial disclaimer.
Explore the StonkHub blog or start this series with our Reddit attention experiment.
- Research Diaries
- Backtesting
- Execution costs
Research results are hypothetical unless explicitly identified as live trades. Backtests do not guarantee future performance.