SignalAtlas

We backtested our trading bot over six years, then retired it

A disciplined trend-following bot on 33 large US stocks made money after costs. Simply holding the same stocks made 7.5 times as much.

Published 27 September 2026

For most of 2026 Signal Atlas ran an automated trading engine: a set of rules that watched a basket of large US stocks and bought and sold them without a human in the loop. In September we measured it properly, over six years of history, against the dullest alternative there is — buying the same stocks and doing nothing. Then we switched it off. This is what we found, including the parts that are uncomfortable for us.

Line chart of combined profit from September 2020 to September 2026. Buy and hold rises to $758,171; the trading bot rises slowly to $101,084.
Combined profit across 33 stocks with $10,000 allocated to each, marked to market daily, 28 September 2020 to 25 September 2026. The bot's line is after trading costs.

What the bot did

The rules were simple on purpose, and fully mechanical:

The 33 stocks were the ones the engine itself held in September 2026 — a mix of technology, healthcare, energy, banks and consumer names chosen by our own screening. Each trade was sized at $10,000. We charged 7.5 basis points each way for spread and slippage, which is modest for liquid large caps.

The result

Trading botBuy and hold
Profit over six years$101,084$758,171
Roughly per year, on $330,0004.6%22%
Stocks that lost money12 of 336 of 33
Time in the market49% (median)100%
Trades3,00633

The bot beat buy and hold on only 7 of the 33 stocks. Adjusting for risk — profit divided by the worst peak-to-trough drop — it did better on 9 of 33. The obvious defence of a trend-follower, “it makes less but it is safer”, did not hold up.

It is worth being clear about what this is not: the bot was not broken. It made money after costs, over six years and 3,006 trades. It simply made far less money than doing nothing.

Why it lost to doing nothing

It was out of the market during the moves that mattered. A trend-follower waits for confirmation to get in and gets shaken out by ordinary pullbacks. On the three stocks that drove most of buy and hold's gains it captured a small fraction:

Stock market returns are lumpy: a handful of stocks, over a handful of stretches, deliver most of the gains. A system that sits out half the time will, on average, sit out a large share of those.

Costs ate almost a third of the gross profit. 3,006 trades at 7.5 basis points a side cost $45,200, or 31% of the $146,283 the rules made before costs. Holding pays that toll once.

Its wins came from avoiding losers, not from catching winners. Of the seven stocks where it beat buy and hold, four — Comcast, Salesforce, Pfizer and Target — were ones where holding made roughly nothing or lost money. Being absent is a real benefit, but you cannot know in advance which stocks to be absent from. Only Intel, Oracle and UnitedHealth were genuine wins while the stock also rose.

A few trades carried everything. Five stocks supplied 76% of the total profit, and 37% of trades were winners — normal for trend-following, but it means the result depends on catching a few big runs, which is exactly where it fell short.

Horizontal bar chart of profit per stock. Buy and hold is far ahead on Micron, Nvidia and KLA; the bot is ahead mainly on stocks where holding made little or lost money.
Profit per stock, $10,000 each. Blue: buy and hold. Orange: the bot, after costs.

What would make this result wrong

We looked for reasons to doubt it. The honest list:

What we did about it

We retired the engine on 7 September 2026 and stopped it opening new positions. We had also tried improving it — filters for choppy markets, trend-strength gates, a second timeframe to confirm entries, and a scoring system to pick which stocks it traded. Every filter we measured made the result worse, and the stock-picking step chose baskets that did worse than most random picks from the same pool. The whole family of approaches needs a reliable forecast of where prices go next, and every version we measured failed to supply one.

What we kept is the part that does not need a forecast: clear, measured information about individual stocks, and tools that show you what the data says rather than telling you what to do.

Method

Six years of four-hour price bars from Alpaca's consolidated (SIP) feed, fetched on demand. Entries and exits at the next bar's open; the emergency stop fills at the stop price; an open position at the end is valued at the last close. Buy and hold buys each stock at the first bar's open. Both sides use $10,000 per stock. Every number and chart in the results above is produced by one script in our codebase, re-run on 27 September 2026. The check on 46 never-selected stocks, and the filter and stock-picking tests, were separate runs in August and September 2026.

What Signal Atlas publishes

Signal Atlas publishes a free, plain-English write-up for a different stock every day: the weekly and daily trend, the levels that matter and what would change the picture. No verdicts to follow, no bot. A free account adds a full Pulse Report a week, on any stock from the published list.

Research and education only — not financial advice, and not a recommendation to buy, sell or hold any security. Backtests describe the past under stated assumptions; they do not predict returns. Full terms · About Signal Atlas