0DTE Bot — Did the exit rule make money?
Exit-strategy study on the bot's own recorded trades · worst-case fills headline ·
generated 2026-07-30
New: the full strategy — entries included — has now been simulated from raw
GEX + OPRA data over 10 trading days (this page only re-plays exits on recorded entries).
Full entry simulation →
Newer: did July's candidate winners survive SIX MONTHS of history (Jan 2 – Jul 13,
131 days, Tier B mechanical entries)? Short answer: no.
6-month long-history test →
Is there any hope? — the bottom line across all three studies
One real hope, surrounded by dead ends — and it's testable.
Dead (no ambiguity left):
- NDX — killed by chronic $1.30–$3.50 spreads, in every test, every month of 2026.
Not fixable by better exits. (6-month test, entry sim, exit study all agree.)
- The strategy without its GEX brain — six months of history says the mechanical parts
(timing, contract quality, exits) have zero edge on their own.
- The current profit-lock exit — sells winners so early it captures essentially none of
their peak potential.
Alive:
- The full strategy, on SPX only: the one test that included the bot's actual GEX
intelligence showed +$58/trade across 732 trades under worst-case fills
(entry simulation) — the only green number an honest test produced in this
whole project. SPX's penny-wide spreads are the reason it is even possible.
Why this is not yet proof: it is 10 days, in one calm market
regime. Plenty of losing strategies look great for 10 days. The only part of the strategy showing promise
is the part history cannot verify — point-in-time GEX data for the past does not exist to buy.
The plan that costs nothing: keep the bot recording on paper,
SPX-only, and let the faithful window grow — every trading day adds evidence for free. At ~3 months of
recordings, re-run the identical entry simulation (one command). If +$58/trade survives 60 days the way it
survived 10, that is a real signal. If it evaporates, these backtests saved tens of thousands of real
dollars. Until then: no real money, no NDX.
Verdict. Under honest, worst-case fills (buy at the ask, sell at the bid), the bot's
actual exit rule lost −$34,053
across its 251 closed live trades — about −$136 per trade.
The same trades scored +$17,069 in the bot's own optimistic mid-price
accounting: the entire gap is the bid/ask spread, roughly $51,388 of round-trip
spread cost across all trades. The bot's edge, if any, is currently smaller than the spread it
pays — mostly on wide-spread NDX contracts (NDX: −$284/trade; SPX: about breakeven).
Best alternative exit on the exact same entries: simply selling after 15 minutes
(+$49,377 worst-case). But read the fine print: that profit comes from 5 huge NDX winners
on two trending days — without them it's negative. The solid takeaway is directional, not a new rule:
the current profit lock sells winners far too early (it captured -6% of peak
potential — i.e. nothing), while every dollar crosses a spread that eats it.
No profit-lock setting in the whole grid was profitable under worst-case fills.
Data honesty — read before believing any number above.
- Tiny window: the ledger holds 716 rows, but 451 are simulator ("replay") trades and
14 never closed. The real live, closed sample is 251 trades on just 3 trading days
(Jul 27–29, 2026) — 13 more live trades from Jul 15 were left open and are excluded.
Three days cannot prove or disprove a strategy; they can only measure exit mechanics.
- Worst-case fill definition: entry at the recorded ask; every sell at an estimated
executable bid (mark − half the entry spread); fees $0.66/contract/side. Optimistic numbers
(mid-price fills, what the bot's paper ledger itself assumes) are shown greyed for reference.
- Engine validation passed: replaying the bot's own rule over the surviving native
mark sequences reproduced the recorded exits in 55/55
(100%) of validatable trades; the bot's own shadow profit-lock agreed with its real
exits in 59/60 clean cases. Full detail:
backtests/results/validation.csv.
- Path caveat: the stored per-trade price paths are a 120-slot ring buffer that keeps
overwriting itself after the trade closes — only 55 trades kept a fully replayable native path
(55 usable_full / 23 usable_partial / 173 unusable). Alternative policies are therefore replayed on the
bot's cached 1-minute bars (full coverage, real timestamps). The bot's own result uses
its recorded 1-second exits — it is never measured at degraded resolution. One-minute replay
understates intra-minute peaks, so tight stops/locks are approximate; time-based exits are robust.
Forensics:
backtests/PATH_FORENSICS.md.
- Scope: this is an exit study on recorded entries — it holds the bot's
entry decisions fixed and only re-plays exits. It is NOT the full entry-simulation backtest
(that needs the 11-day OPRA options-data pull).
1 · The bot's rule vs alternatives (worst-case fills)
2 · Charts
Every cell of the profit-lock grid is negative under worst-case
fills — tightening or loosening the current lock does not fix it. (Cells in $000; min-lock fixed
at $120; other min-lock values look the same, see CSV.)
3 · Day by day (worst-case)
4 · Caveats & next steps
- 3 days, one regime. Jul 27–29 were strong trend days; time-stops shine in
trends and bleed in chop. Keep the bot recording — every extra week makes this study stronger.
- Spread is the enemy #1. Before touching exit logic: avoid wide-spread contracts
(NDX spreads averaged ~$2 = $200/trade round trip) or demand a bigger expected move per trade.
- Next milestone: the full entry-simulation backtest over the 11 recorded GEX days
needs the OPRA minute-quote pull (Databento key required; ~$0 at current entitlement). That also
upgrades this exit study from 1-minute to real NBBO for every trade.
- Not investment advice to switch to time stops — their profit here is
5 outlier trades. The defensible change list: cut spread cost, stop selling winners in the first
2 minutes, and re-test on more days.