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.
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.
What the bot did
The rules were simple on purpose, and fully mechanical:
- Every four hours, compute a Supertrend line (10 periods, 3× average true range) for each stock. Supertrend is a common trend-following indicator: it flips to “up” when price closes far enough above it, and to “down” when it closes far enough below.
- Buy at the next bar's open when it flips up. Sell at the next open when it flips down. Never short.
- An emergency stop sells if price falls 5% below the entry.
- Hold for days or weeks — no closing at the end of each day.
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 bot | Buy and hold | |
|---|---|---|
| Profit over six years | $101,084 | $758,171 |
| Roughly per year, on $330,000 | 4.6% | 22% |
| Stocks that lost money | 12 of 33 | 6 of 33 |
| Time in the market | 49% (median) | 100% |
| Trades | 3,006 | 33 |
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:
- Micron (MU): 3.3% of what holding made
- Nvidia (NVDA): 11.7%
- KLA (KLAC): 10.8%
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.
What would make this result wrong
We looked for reasons to doubt it. The honest list:
- The stocks flatter buy and hold. These are stocks our system held in 2026 — survivors. A basket chosen in 2020 would have included some that later collapsed. We re-ran the same rules in September on 46 large caps our system had never selected; buy and hold still won, by a smaller margin.
- Some protections were not modelled. The live engine also stepped aside around earnings. That rule closes positions, so leaving it out makes the bot look slightly better here.
- Taxes are ignored. 3,006 short-term trades against 33 long holds would widen the gap further.
- Six years is one history. It includes the 2022 bear market and the 2025 sell-off, but a long, grinding decline is where a trend-follower should shine, and this window did not have one.
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