Strategy graveyard / Grid trading bot
Verdict: doesn't work Backtest + one live day
A grid trading bot on SPY and QQQ: the 10-cent grid lost $48,539 in 41 days
Backtested on SPY and QQQ quotes recorded every two seconds, 41 sessions, July to September 2026, plus one live paper day. Updated 1 Oct 2026.
Short answer: no. A grid bot buys every small dip and sells every small rise. On choppy days it banks dozens of small profits. On trend days it keeps buying into a fall (or selling into a rally) until it's full, then sits on a large loss. In my tests the trend days won.
The classic version, a 10-cent grid running all day, lost $12,465 on SPY and $36,074 on QQQ in 41 sessions, and hit its 500-share limit every single day. Wider grids lost less, but none made money you could rely on.
-$48,53910-cent grid, SPY and QQQ combined, 41 days
41 of 41days the 10-cent grid hit its 500-share limit, on both
-$30,985QQQ grid from 09:30 to 10:30 alone
~100combinations tried; the best wasn't statistically meaningful
What is grid trading?
A grid bot places a ladder of orders around the current price: buys at fixed steps below, sells at fixed steps above. Every time price drops a step and comes back, the bot buys low and sells one step higher, banking the step. It doesn't need to predict anything; it only needs the price to wander back and forth.
Grid bots are sold as "passive income" on crypto exchanges and trading platforms. The catch is what happens when price doesn't come back.
The exact rules I tested
- Anchor: the midpoint of the first quote at 09:30 New York time.
- Ladder: a resting buy one step below the current level and a resting sell one step above. Each fill moves the ladder one step. Long 100 shares for every step below the anchor, short 100 for every step above.
- Profit: every buy that's later sold one step higher (or sell bought back one step lower) earns one step on 100 shares.
- Limit: at most 500 shares long or short. At the limit, the bot stops adding and waits.
- Close: flatten everything at 15:58.
- Fills: a resting order only counts as filled when the market trades through its price (for a buy at $500.00, the ask has to reach $500.00). A more optimistic "touch" rule was also run.
- Variations: steps of 5, 10, 20 and 50 cents; six trading windows from the open-only to the afternoon-only; a daily stop of ±$500 or $1,000; a $200 daily profit target; and the same grid run with same-day options instead of shares.
Results
Full day, 09:30 to 15:58, 41 sessions, before commissions:
The tighter the grid, the more it lost. With the optimistic "touch" fills, the 10-cent grid still lost $1,264 on SPY and $21,251 on QQQ.
- By time of day: the first hour was by far the worst; the 10-cent QQQ grid lost $30,985 between 09:30 and 10:30 alone. Every morning and midday window lost. Only 13:30 to 15:30 was around break-even.
- The best combination: a 50-cent grid from 13:30 to 15:30 with a ±$500 daily stop made $1,563 on SPY and $3,145 on QQQ over the 41 days. It was the only setting positive on both and in both halves of the period. But it was the best of about 100 combinations, and neither result was statistically meaningful. That's a candidate for a live test, not a strategy.
- A $200 daily profit target: reached on 31 of 41 days on SPY and 36 of 41 on QQQ. Totals: -$9,769 and -$12,965. The target cut off the big choppy days that paid for the bad ones, while the days that never reached $200 lost up to $6,775.
- The same grid in same-day options: much worse. The 50-cent SPY grid lost $10,317 against $2,263 for shares on the same days. Option spreads widen exactly when price moves enough to trigger the grid, and on QQQ the median spread at a fill was $15 a contract.
- One live day (30 September 2026, 10-cent grid, no limit): SPY -$130 on 203 fills, QQQ -$15 on 37 fills.
Why it failed
- Small wins, rare big losses. Most days, a grid looks like it's working. Then a trend day arrives, the grid fills all the way to its limit against the move, and one day's loss is larger than weeks of gains. The trend days in my sample cost $5,000 to $7,000 each.
- The position limit decides the result. Without a limit, a grid can lose without end on a trend. With one, it stops trading at the worst moment and often misses the move back. Every grid step except 50 cents hit the limit on every day.
- The open trends. In my data the first hour had the biggest one-way moves, the worst condition for a grid. Afternoons chop more, and that was the only window that came close.
- Resting orders get the wrong fills. A grid's orders fill when price comes to them, which is exactly when price is moving against the position. Fills come easily when the move is against you.
Did I test it wrong?
Quite possibly. I tested the version of Grid trading bot described above, with settings I thought were fair, and it didn't work. That doesn't prove every version fails. I may have picked the wrong settings, the wrong market or timeframe, or missed a filter that experienced traders take for granted. Many strategies also depend on judgement that a set of fixed rules can't capture.
If you trade Grid trading bot and it works for you, I'd genuinely like to hear how. Tell me the chart and timeframe, what counts as a setup, any filters, where you get in, where your stop and target go, and when you get out. I'll test your version on the same data, the same way, and publish the result here, whichever way it comes out.
Send me your version
What would change my mind
A grid with a rule that switches it off on trend days, decided before the trend is obvious, that stays profitable across several months and markets. The afternoon-only version is the closest I've seen, and it needs a long live test before it means anything.
Questions
What is a grid trading bot?
A bot that places buy orders at fixed steps below the price and sell orders at fixed steps above it. Each time price moves one step and comes back, it banks the step. It needs no forecast, only back-and-forth movement.
Why does grid trading lose money?
Because markets don't only chop. On a trend day the grid keeps buying into a fall (or selling into a rally) until it hits its position limit, then holds a large losing position. One trend day erased weeks of small wins.
Is a wider grid better?
In my tests, yes: wider steps lost less, because they traded less often against a trend. But wider grids also made very little, and none was clearly profitable.
Does a daily profit target help a grid bot?
No. A $200 daily target was hit on most days, but it capped the big choppy days that paid for the losing ones, and the total went further negative.
How it was tested
- Data: SPY and QQQ bid/ask quotes recorded about every two seconds, 31 July to 28 September 2026 (41 sessions), and one live paper day on 30 September 2026. Before commissions, which would make every result worse.
- Options version: same-day options slightly in the money, one contract per grid level, bought at the ask and sold at the bid.
- Backtest, not live trading: these results come from historical prices with trading costs included. Backtests usually flatter a strategy, so a failed backtest is a strong "no".
This page records my own testing. It isn't financial advice.