The backtest that lied
A while ago we found a strategy with a 91% win rate. Nearly two years of history, a smooth upward curve, barely a losing month. It looked like a money machine. It had one problem: the profits weren't real. Not because the data was wrong — because of a single, almost invisible assumption that most backtesting tools make. This is the story of that assumption, and what happened when we removed it.
There are always two prices
Think about changing money at an airport. The screen says the euro is worth 1.10 dollars, but that's not what you get. The desk buys your euros at 1.07 and sells them at 1.13. The gap between those two numbers is how the desk earns its living, and you pay it every single time you walk up to the counter.
Every traded thing works this way, including options. At any moment there's a lower price where you can sell and a higher price where you can buy. Traders call it the bid and the ask; you can just think of it as the dealer's margin. It's not a fee that shows up on a statement. It's baked into the price, which is exactly why it's so easy to forget.
Here's the catch. When a backtesting tool replays history to tell you how a strategy would have done, it has to decide which price you traded at. And most tools — including some very famous ones — quietly pick the midpoint between the two. The price from the screen. The price nobody actually gives you.
For a strategy that trades once a month, that little kindness barely matters. But same-day options — the "0DTE" trades that expire the evening you open them — are a different animal. You trade them daily, so you pay the dealer's margin daily. And the options themselves are cheap, so the margin is a big slice of every trade. A small white lie, compounded 250 times a year, stops being small.
So we measured it
The experiment was simple. Take one strategy. Run it through two years of history twice — once at the flattering midpoint prices, once at the prices a real order would have got. Same strategy, same days, same market. The only thing that changes is the answer to one question: what would you actually have been paid?
The strategy itself is a classic. Each afternoon, a couple of hours before the S&P 500's daily options expire, you sell one option that pays off if the market jumps and another that pays off if it drops. You collect money for both up front. If the market finishes the day without a big move in either direction — which is most days — you keep it. If the market surprises you, you pay out, sometimes painfully. Traders call this selling a strangle; you can think of it as selling insurance against a wild afternoon.
First, the version where the strikes sit fairly close to the market's current level. Two years, roughly 490 trades:
| At midpoint prices | At real prices | |
|---|---|---|
| Total profit | +1,035 pts | +573 pts |
| Sharpe ratio (return for the risk taken) | 2.64 | 1.46 |
| Winning days | 77% | 75% |
| Worst losing stretch | 198 pts | 250 pts |
Read that top line again. The strategy is genuinely good — it makes real money either way. But almost half of its advertised profit never existed. It was the dealer's margin, silently handed back to the simulation on every one of 490 trades.
Then it got worse
That 91% win rate we mentioned? It came from a variant of the same trade, with the strikes pushed far away from the market — selling insurance against only the truly wild days. The options out there are cheap, like lottery tickets. This is the trade every 0DTE course loves to show, because at midpoint prices it looks superb:
| At midpoint prices | At real prices | |
|---|---|---|
| Total profit | +508 pts | +157 pts |
| Sharpe ratio | 1.95 | 0.60 |
| Winning days | 91% | 90% |
| Worst losing stretch | 184 pts | 225 pts |
At real prices, 69% of the profit is gone. And the smooth curve? It spent its first fourteen months underwater. Imagine trading that: more than a year of drip-drip losses on a strategy your backtest promised was a 91% winner. Nobody survives that on faith. You'd quit — rightly — long before the good stretch arrived.
The reason the cheap-option version suffers most is plain arithmetic. When you sell 12 points of insurance and the dealer's margin costs you 1, you gave up a slice. When you sell 3 points of insurance and the margin still costs you most of a point, you gave up a third of the whole trade. The cheaper the option, the bigger the share of it that was never yours.
What to take from this
Not that 0DTE selling is doomed — our first strategy holds up fine at real prices. The lesson is about backtests. The next time anyone shows you one, ask a single question: at what prices did it trade? If the answer is the midpoint — or if they don't know — treat the result as the best case in a perfect world, not a forecast. On daily options, the gap between those two things can be the whole edge.
And if you're testing your own ideas, use real recorded prices from the start. It's the difference between finding out at the simulation stage and finding out with your money.
If you want to go deeper, we've written a step-by-step guide to backtesting daily options properly — same plain-English approach, with a worked example.
Test your strategy at the prices you'd actually get
Every ThetaSmith backtest uses real recorded prices — 10+ years of history, results in seconds, no coding. Free for 30 days on the S&P 500, no card.
Create free account →