0DTE Options Trading Bot for Small Accounts: 77% Win Rate Across a 4-Year Backtest

A 0DTE Options Trading Bot Built for Small Accounts

For the past several months we have been building and backtesting a set of automated trading bots, and a handful of them held up well enough across the historical data that we started running them with real money. That work has now turned into a new Trading Bots section inside MyATMM, where you can dig into each bot's approach and its full backtest results.

This walkthrough covers two things. First, the practical side: how the trades these bots generate get imported and tracked week to week, so the results in your account are real numbers instead of a vague sense that things are going okay. Second, the strategy side: the philosophy behind a 0DTE options trading bot for small accounts, and a detailed look at one of them — the Lockstep bot — including a four-year backtest run against real historical option quotes.

Key Point: The whole design philosophy here is risk a small amount to make a small amount. Roughly a one-to-one payoff, defined risk on every trade, and position sizes that make sense in a $1,000–$2,000 account rather than a $25,000 one.

Step 1: The Weekly Bot Transaction Import Workflow

A bot that trades daily produces a lot of fills. Running one 0DTE credit spread a day across a handful of accounts adds up to dozens of legs per week, and hand-typing those into a spreadsheet is exactly the kind of chore that quietly stops happening after about three weeks.

The routine is simple and takes a couple of minutes at the end of the week. Start in ThinkorSwim on the Account Statement tab, set the date range to cover the period you have not tracked yet, and export the transactions to a file. Then head back to MyATMM, open Tools → Import/Export, and choose the AI import.

Drag, Parse, Review

Drop the exported file onto the import panel. It pre-parses immediately so you can see what it picked up, then you click Parse and the system pulls every transaction out of the export — strikes, expirations, quantities, prices, and fees. From there, View Import Details shows exactly what landed in the account, which for a bot week means a long list of XSP option legs.

Handling the Duplicates You Will Absolutely Create

Here is the part that matters in practice. When you export "the last couple of weeks" because you fell behind, you will inevitably re-import transactions you already have. That overlap is fine — the importer flags the probable duplicates for you instead of silently double-counting your premium and wrecking your cost basis.

Example: Cleaning Up an Overlapping Export

An export covering two weeks brings in four transactions that already existed in the account. In the import details view they are marked as duplicates. You have two ways to clear them:

  • Individual delete — remove them one at a time and watch the duplicate count tick down from four to three to two, which is useful when you want to eyeball each one before it goes.
  • Bulk delete — one button clears all four flagged duplicates at once. This is the option you will use nine times out of ten.

Either way, you end up with one clean set of transactions and no phantom premium inflating your numbers.

If you would rather work from a CSV than a screenshot-style export, the same duplicate detection applies to the ThinkorSwim SPX and XSP CSV import with import history, which keeps a record of every batch you have brought in so you can trace a transaction back to the file it came from.

Step 2: Reviewing the Week in Strategy Summary

Once the transactions are in, the Strategy Summary screen is where the bot's actual behavior becomes visible. Filtered to the last 30 days on XSP, it lists the trades out one by one — and with a daily 0DTE bot, that is close to one entry per trading day.

For each strategy in the list you can see:

  • Profit and loss for that specific spread, closed or open
  • Number of transactions that make it up (entry legs, exit legs, expirations)
  • Costs — commissions and fees attached to each strategy, not buried in an account-level total
  • Risk, where it can be determined from the structure of the position

That last column ties into the risk profile tooling. If you have run a risk profile on a position, you get the same kind of payoff visualization you would expect from a brokerage platform, updating in real time so you can watch where your risk and profit sit as the day moves. The SPX put credit spread walkthrough in the Risk Profile tool covers how that view is built and read for a defined-risk spread — the mechanics are identical for XSP.

Zooming Out: Weekly Performance on the Dashboard

Strategy Summary is trade-by-trade and day-by-day. To judge whether a bot is actually working, you want the level above that. The Performance tab on the dashboard groups everything by week, which is the right resolution for a strategy that takes roughly three trades a week.

What weekly grouping shows you: A single line per week with total premium collected and that premium as a percentage of net working capital. One recent week showed $176 collected, which worked out to 5.71% of the working capital in that account. Stack those weeks next to each other and you can see consistency — or the lack of it — without squinting at individual fills.

This is the same weekly cadence that makes tracking worthwhile for any premium-selling approach, whether it is a bot or a manual position. The habit is what produces the data, and the data is what tells you if the strategy is doing what the backtest said it would.

The Trading Bots Section and the Philosophy Behind It

When you log into MyATMM you will now see a Trading Bots section in the navigation. The landing page lays out the general approach before you get to any individual bot, because the approach is really the whole point.

Risk Small to Make Small

A lot of credit spread traders sell far out-of-the-money structures with high nominal win rates. The math on those is lopsided: you might risk $500 to $1,000 of defined risk to collect $30 to $80. The win rate looks fantastic right up until a handful of losers eat a quarter's worth of winners.

These bots go the other direction. They target roughly a one-to-one payoff — risking about $50 to make about $50 — while still maintaining a high historical win rate. You are never exposed to a single trade that can undo months of progress, because the maximum loss on any given spread is a defined, small number known before the order is placed.

Why the payoff ratio matters: With a near one-to-one structure, your results depend on win rate and disciplined exits rather than on never having a bad day. A far-OTM spread that risks $1,000 to make $50 needs a win rate above roughly 95% just to break even before costs.

The PDT Rule Change Made Small Accounts Viable

This approach only works because of a structural change: the pattern day trader rule has been removed. Under the old regime, a bot placing same-day entries and exits on 0DTE spreads was generating day trades, which meant every account running it needed to hold $25,000 to stay compliant.

Without that constraint, you can run several small accounts — $1,000 or $2,000 each — and have a different bot running a different XSP strategy in each one. That is a genuinely different world for smaller traders, and it is the reason a small-account-friendly 0DTE bot is even worth building.

Why XSP Instead of SPX

XSP is the mini S&P 500 index option, sized at one-tenth of SPX. For this style of trading that matters a lot:

  • Far less capital at risk per spread — a defined-risk XSP spread ties up a fraction of what the equivalent SPX structure would.
  • Similar return on risk — you are working with the same underlying index behavior, so the percentage math is comparable even though the dollar amounts are smaller.
  • Granularity — smaller contracts mean position sizing can actually track account size instead of jumping in huge increments.
  • Cash settlement and index treatment — no shares to manage, which keeps an automated workflow simple.

If you have followed the 0DTE iron condor tracking examples on QQQ and SPY, the position-tracking challenges here will feel familiar — short-dated defined-risk structures produce a lot of transactions in a hurry.

Meet the Lockstep Bot

There are currently several bots in the section — an ATM put spread bot, Lockstep, an EMA cross bot, an opening range breakout bot, and an EMA open bot. The transactions imported in this walkthrough all came from Lockstep, so that is the one worth unpacking.

How It Works at a High Level

The Lockstep bot follows a simple, repeatable sequence:

  1. Read the early session. It evaluates the trend established in the opening portion of the trading day along with the candle structure that formed alongside it.
  2. Pick a direction. The signal that comes out of that read determines which side of the market the bot sells.
  3. Sell a defined-risk XSP 0DTE credit spread in the direction of the signal. Defined risk means the maximum loss is fixed by the spread width at the moment of entry.
  4. Place a resting take-profit order. Immediately after the entry fills, a profit target order goes out and sits there for the rest of the session. If price cooperates, it fills and the trade is done. No babysitting required.
Why "Lockstep": The bot moves in step with the direction the session has already established rather than trying to predict a reversal. It is a trend-following read applied to a premium-selling structure.

The Four-Year Backtest: What the Historical Data Showed

Every bot page carries its backtest results, and they are built on real historical option quotes — not modeled prices, not theoretical fills derived from a pricing formula.

Why the Test Starts in June 2022

The backtest window runs from June 2022 through July 2026, roughly four years. That start date is not arbitrary and it is not cherry-picked: June 2022 is approximately when daily expirations became available on XSP. There is no earlier data to test against, so that is as far back as the study can honestly go.

Results Running One Contract

The headline numbers below reflect a single contract on every signal for the entire four-year window — no scaling, no compounding, no position sizing adjustments.

Metric Backtested Result (June 2022 – July 2026)
Win rate 77.1%
Wins / losses 496 wins, 147 losses
Average return on capital risked ~40%
Average winning trade $37.36
Average losing trade $43.68
Maximum drawdown $278
Profitable years All of them in the window
Green months 92%
Trade frequency ~3 trades per week

The number that deserves the most attention is not the win rate — it is the $278 maximum drawdown on one contract. That is the worst peak-to-trough stretch the strategy went through across four years of historical data, and it is what makes the approach compatible with an account measured in the low four figures. A strategy with a better headline return and a $3,000 drawdown would be unusable in a $1,000 account regardless of how good the average looked.

Note also that the average loss ($43.68) is larger than the average win ($37.36). That is normal for this structure and exactly why the win rate has to carry the weight. It is also a useful sanity check that the numbers have not been massaged — a strategy claiming both a high win rate and a favorable payoff ratio usually deserves a hard look.

The Equity Curve Viewer

Summary statistics hide the shape of a strategy. One button on each bot page opens the equity curve so you can see the actual path: the long grind upward, and the drawdown stretches where the line went sideways or dipped. Seeing where the flat spots were is far more instructive than any single ratio, because those are the periods that would test whether you would actually keep running it.

The Scaling Simulation Toggle

There is also a toggle that re-runs the same historical signals with a position-sizing rule applied: one contract per $1,000 of account value. As the simulated balance grows past $2,000 it trades two contracts, past $3,000 it trades three, and so on, capped at 100 contracts.

The cap is deliberate. Without it, a compounding simulation eventually produces thousands of contracts per trade and numbers that have nothing to do with reality — liquidity, fills, and market impact would all break down long before that point. Even 100 contracts is pushing it; something in the 50-contract range is more plausible.

What the Scaled Simulation Produced

With the one-contract-per-$1,000 rule applied to the same historical signals, the simulated equity curve steepens considerably and finishes in the neighborhood of $763,000. The contract count is displayed on the chart, so you can see it climb through 30 contracts and reach the 100-contract ceiling roughly two years into the window — around the point where the simulated balance crosses $100,000.

Read this for what it is: a compounding simulation applied to historical signals, useful for understanding how position sizing changes the shape of a curve. It is not a projection, not a target, and not something anyone should expect to reproduce. Real-world fills, slippage, and liquidity at size are not modeled in it.

What's Free and What's Behind the Paywall

We tried to draw a sensible line here. The evidence is open; the implementation details are not.

Free to Explore

  • The Trading Bots landing page and the philosophy behind the approach
  • Every bot's backtest results — win rate, averages, drawdown, monthly and yearly breakdowns
  • The equity curve viewer, including the scaling simulation toggle
  • Manual transaction entry on the cost basis screen, so you can track XSP or anything else by hand at no cost

Behind the Paywall

  • Entry rules — the exact signal conditions each bot evaluates
  • Exit rules — profit target placement and how positions are managed to close
  • The risk profile for each strategy and how the spread is structured
  • Setup details — what you would need to actually run one yourself
On the AI import: Manual transaction entry is available on the free account — open the cost basis screen, pick your symbol, and add the transactions yourself. The automated AI import that reads broker exports and screenshots requires a Standard membership. If you are running a bot that generates a few dozen legs a week, the automated path is what keeps the habit sustainable.

How MyATMM Helps

A backtest tells you what a strategy did historically. Your own transaction history tells you what it is doing now — and those two things are only comparable if you are tracking honestly, with costs included and no double-counted fills.

That is the gap MyATMM is built to close. The AI import pulls a week of bot fills out of a broker export in about a minute and flags duplicates before they can distort anything. Strategy Summary rolls individual legs up into the spreads they actually belong to, with the commissions and fees attached where they occurred. The dashboard's weekly grouping converts a pile of trades into a percentage of working capital you can compare week over week. And the risk profile view lets you see the payoff shape of a live position instead of guessing at it.

None of that is specific to bots. It is the same tracking problem every options seller has — automation just makes the volume high enough that spreadsheets stop being an option. If you want a broader look at what to demand from a tracking tool, our guide on what to look for in options trading journal software works through the criteria that matter for premium sellers specifically.

Wrapping Up

The short version: the PDT rule change opened the door for small accounts to run daily 0DTE strategies, XSP makes the position sizes small enough to be practical, and a near one-to-one defined-risk structure keeps any single trade from doing real damage. The Lockstep bot is one implementation of that idea, and its four-year backtest against real historical option quotes is available for you to pick apart yourself.

We will be walking through the rest of the bots in the coming weeks, along with more detail on the transaction import process — because tracking is what turns a strategy into something you can actually evaluate.

Risk Disclaimer

Backtested results are hypothetical. Every performance figure in this article — win rate, average trade, maximum drawdown, equity curve, and the scaled simulation — is derived from historical option quote data applied to a set of rules after the fact. Hypothetical and backtested results have inherent limitations: they do not represent actual trading, they cannot fully account for slippage, liquidity, order fills, or the psychological reality of following a system through a drawdown, and they are prepared with the benefit of hindsight.

Past performance does not guarantee future results. A strategy that was profitable across a historical window can lose money going forward. Options trading involves substantial risk and is not suitable for all investors. 0DTE index options in particular carry rapid time decay and can move against a position very quickly. You can lose the entire amount at risk on any defined-risk spread.

MyATMM is a tracking and research tool, not an investment adviser. Nothing in this article is a recommendation to buy or sell any security or to adopt any strategy, and nothing here should be construed as investment advice. Always do your own research and consult a qualified financial professional before making any investment decision.

Start Tracking Your Options Positions Accurately

MyATMM provides purpose-built cost basis tracking for option sellers, with the flexibility to track covered calls, cash-secured puts, and wheel strategy positions.

Track up to 3 tickers completely free forever. No credit card required.

Create Your Free Account Today

Built for covered calls, cash-secured puts, and the wheel strategy

Original Content by MyATMM Research Team | Published: August 16, 2026 | Educational Use Only