Most of the 0DTE credit spread content floating around the internet describes the same trade: sell something far out of the money, collect $30 to $80, and put $500 to $1,000 of defined risk behind it. The win rate on that structure looks spectacular. The math behind it is brutal — a handful of losers can erase a quarter of winners, and one fast move against you can cost several times what you collected.
The EMA Open bot flips that ratio on its head. It risks roughly $50 to make roughly $50 on a defined-risk XSP spread. The win rate is lower than the far-OTM crowd advertises, and that is the entire point: when your losses are the same size as your wins, you no longer need to be right nine times out of ten.
This article walks through a full week of that bot running with real money — the broker fee problem that forced an account move mid-week, how the fills got imported and reviewed in MyATMM, the risk philosophy driving the position sizing, and the four-year backtest that sits behind it all. If you want the wider context first, our earlier overview of 0DTE options trading bots for small accounts and their backtest results covers the general approach these bots share.
Here is the public description of the strategy, in full:
That last sentence carries more weight than it looks like it does. A bot that trades every single signal is easy to build. A bot that generates a signal, looks at the terms available, and then declines to place the order is making a judgment call about whether the trade is worth having. Roughly a third of signal days end with no position at all.
Once an entry does fill, there is a take-profit target working. Beyond that, the position is left alone for the session. No stop loss, no intraday management, no watching a screen — which is possible only because of how the risk is structured, covered further down.
The exact entry conditions, spread construction, and profit-target placement are part of the paid bot package, so they are not detailed here. What is public is the shape of the strategy and every number the backtest produced.
XSP is the Mini-SPX index option — the same S&P 500 exposure as SPX, sized at roughly one-tenth of it. For an account measured in the low four figures, that ratio is the difference between a strategy being usable and being theoretical.
That last point comes with an asterisk, and it is the one that cost this bot an account move.
XSP and SPX are cash-settled. When one of these options finishes in the money, no shares change hands — the difference is simply settled in cash. There is nothing to deliver, nothing to assign, and no share position to clean up on Monday morning.
Despite that, several brokers still charge an exercise or assignment fee when you let a cash-settled index position run to expiration. It is worth understanding before you pick where a small-account strategy is going to live.
| Broker | Exercise / assignment fee on cash-settled index options |
|---|---|
| TastyTrade | Charged — roughly $5 per leg |
| Tradier | Charged |
| Schwab | Not charged |
| Public.com | Not charged |
Run the arithmetic against a strategy where the average winning trade is in the $50 neighborhood. A two-leg spread left to settle at roughly $5 a leg is $10 off the top — a fifth of the win, on a trade the bot already got right. Do that a few times a week and the fee line stops being a rounding error and starts being a meaningful share of the strategy's output.
None of this is a recommendation about where to hold an account. Fee schedules change, and every broker balances commissions, fees, platform quality, and execution differently. The takeaway is narrower: read your broker's fee schedule for exercise and assignment on cash-settled index products before you build a strategy that regularly lets positions run to expiration. If your broker does charge, closing before the bell avoids it — but that changes how the strategy behaves, which is a trade-off worth making deliberately rather than discovering on a statement.
A daily 0DTE bot generates a lot of fills. Entry legs, exit legs, expirations, and the occasional stray transaction add up fast, and typing that into a spreadsheet is exactly the chore that quietly stops happening after a few weeks. The end-of-week routine here takes about two minutes.
Because the account moved mid-week, this particular import needed two files. Both went through the AI CSV import on the Import/Export screen, one after the other.
The first attempt at this import stalled and then came back with an error saying nothing could be imported. The cause was not the importer — it was the wrong export.
TastyTrade lets you export order history and transaction history, and they are very different files. Order history is a record of orders you submitted. It contains no fills, so there is literally nothing for a cost basis tracker to import. Transaction history is the record of what actually executed, which is what you want.
Re-exporting the transaction history and dropping it in produced a near-instant parse. If your import comes back empty from TastyTrade, check which history you exported before you check anything else.
Once everything is in, two screens do the work. The Dashboard shows the account balance and week-over-week performance — useful for spotting whether the bot is grinding forward or stalling. Note that a mid-week account move temporarily distorts the balance figure, since two partially funded accounts get combined until the transition settles.
The Strategy Summary screen is where the trade-by-trade picture lives. For the reviewed week it listed each day individually — Monday through Friday, all five days closing green with a small profit. Small is the operative word. This is not a strategy that produces one enormous day; it produces a lot of modest ones and relies on the losses being modest too.
If you track spreads more broadly, the same views handle any defined-risk structure. Our rundown of the best credit spread trackers for options sellers covers what to demand from those screens whether you are running a bot or entering trades by hand.
"No stop loss" sounds reckless until you look at the structure. On a defined-risk credit spread, the maximum loss is fixed the instant the order fills. The long leg is the stop. There is no scenario where the position keeps bleeding past that number, no matter what the index does.
Compare that with the far-OTM approach. Selling a five- or ten-point-wide SPX spread far from the money means putting $500 to $1,000 of defined risk behind $30 to $80 of credit. As long as price stays away, it works beautifully. When price starts drifting toward your strikes — or gaps toward them — you are watching a position that can cost several times what you collected. Managing that requires either a hard stop that locks in a loss well above the credit, or an eyeball on the screen all day.
There is a second effect worth naming. If you have watched SPX intraday for any length of time, you know it rarely moves in a straight line. A sharp drop in the morning frequently gets partially or fully recovered by the afternoon. A position that would have been stopped out at the bottom of that move can end the day as a wash or even a win. Holding a defined-risk position through the full session takes advantage of that behavior rather than being punished by it.
On a bad day, a bot risking roughly $50 per contract in a $1,000 account gives back single-digit percentages. The far-OTM structure, on a genuinely bad day, can take a much larger bite. That difference in worst-case shape is the whole reason for the design.
None of this would have been practical two years ago. The pattern day trader rule required any account making frequent same-day round trips to hold at least $25,000. A bot entering and exiting 0DTE positions inside a single session generates day trades constantly, so under the old rules every account running one needed that balance — and a cushion on top, in case a drawdown pushed it below the line.
The PDT rule went away in mid-2026. That single change is what makes a fleet of small-account bots viable. Instead of one large account trying to run everything, five bots run in five separate accounts, each holding a couple of thousand dollars. Each bot gets its own account, its own balance, and its own clean set of transactions to track.
Every bot page in MyATMM carries its full backtest, and the EMA Open numbers below cover 1,042 trading days from June 2022 through July 2026 running a single contract on every trade the bot chose to take.
| Metric | Backtested result (Jun 2022 – Jul 2026, 1 contract) |
|---|---|
| Trading days covered | 1,042 |
| Total P&L | $18,863 |
| Win rate | 68.3% (433 wins / 201 losses) |
| Average ROI per trade | 149% |
| Average win | $52.49 per contract |
| Average loss | $19.23 per contract |
| Maximum drawdown | $146 |
| Green months | 96% |
| Profitable years | 5 of 5 |
| Trade frequency | About 2 of every 3 signal days |
A 68.3% win rate looks unimpressive next to the 90%-plus figures advertised for far-OTM credit spreads. It is unimpressive — in isolation. Win rate on its own tells you nothing useful, because it says nothing about the size of the wins relative to the losses.
Look at the two averages instead. The average win is $52.49. The average loss is $19.23. That is roughly a one-to-two or one-to-three relationship, and it is the mirror image of the far-OTM shape, where a 90% win rate is paired with losses that dwarf the wins. Winning 68% of the time while your winners are more than twice your losers produces a very different curve than winning 90% of the time while a single loser wipes out ten wins.
The drawdown figure tells the same story from another angle. $146 is the worst peak-to-trough stretch across four years on one contract. That number is what makes the strategy compatible with an account holding a couple of thousand dollars. A strategy with a higher total return and a $3,000 drawdown would be unusable at that account size, regardless of how good the headline looked.
A 149% average ROI per trade reads like a typo. It is a direct consequence of the denominator being small. ROI here is measured against the capital actually at risk on each spread — roughly $50 — not against the account balance. An average win of $52.49 against about $50 of risk is where that percentage comes from.
It is worth being clear about what that figure does and does not mean. It does not mean the account grows 149% per trade. It means the strategy returns more than it risks on an average trade, which is a statement about the payoff structure, not about account growth.
MyATMM's Trading Bots page also carries a combined view that runs all five bots together across their shared history: 992 overlapping trading days spanning roughly four years, one contract per strategy.
The gap between $412 and $1,300 is the observation worth sitting with. The individual drawdowns did not land on the same days, so summing them overstates what actually happened when the strategies ran side by side. That is a measurement of how these five specific rule sets behaved over this specific window — not a property you should assume any group of strategies will have.
The equity curve viewer on each bot page has a scaling toggle that re-runs the same historical signals with a position-sizing rule applied: one contract per $1,000 of account value. Simulated balance crosses $2,000, it trades two contracts; crosses $3,000, three; and so on. The tool caps the simulation at 100 contracts.
That cap exists for a reason. Left uncapped, a compounding simulation eventually produces thousands of contracts per trade and numbers with no connection to reality — fill quality, liquidity, and market impact would break down long before that. Even 100 is aggressive; somewhere in the 50-to-100 range is a more plausible ceiling before partial fills start becoming the norm.
On the unscaled curve, one contract starting from roughly $100 finished the first backtest year in the neighborhood of $3,986, then more than doubled over the following year. Turn the scaling toggle on and the curve steepens sharply, reaching the contract ceiling somewhere in the back half of 2023 — about a year and four months into the window.
A backtest describes what a set of rules did historically. Your own transaction history describes what is happening now. Those two things are only comparable if the second one is tracked accurately — costs included, fees attached where they occurred, and nothing double-counted.
That is the gap MyATMM is built to close, and it applies whether or not you ever run a bot:
Automation just raises the transaction volume enough that spreadsheets stop being an option. The tracking problem itself is the same one every premium seller has.
Backtested results are hypothetical and simulated. Every performance figure in this article — total P&L, win rate, average trade, maximum drawdown, equity curve, and the scaled simulation — comes from applying a set of rules to historical option data after the fact. Simulated results have inherent limitations: they do not represent actual trading, they cannot fully account for slippage, liquidity, order fills, or the experience of following a system through a drawdown, and they are prepared with the benefit of hindsight. Simulated performance is not indicative of future results.
Past performance does not guarantee future results. Options trading involves 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. Broker fee schedules described here reflect what was observed at the time of writing and can change without notice — verify them with your own broker.
MyATMM is a tracking and research tool, not an investment adviser. This content is for educational purposes only and should not be considered financial advice. Nothing here is a recommendation to buy or sell any security, to adopt any strategy, or to use any particular broker. Always consult with a qualified financial advisor before making investment decisions.
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 TodayBuilt for covered calls, cash-secured puts, and the wheel strategy