AI backtest · S&P 500 ETF, Apple, FUBO, natural gas · 1-minute to daily bars · 1993 → 2026

GPT Falls Short at Predicting Stock Market Prices

A GPT is the kind of model behind ChatGPT: it reads a sequence and predicts what comes next. We trained GPTs on stock charts instead of words — each price move a token — and asked them where the price goes next, over a minute, an hour, a day or a month. Then we made the models bigger, fed them candlestick patterns, moved them to other stocks and futures, and finally asked them how much the market would move. Every test year was held back until the models were finished.

Published · Stable Income Strategy research

The short answer

The short answer

It cannot. On the S&P 500 ETF (SPY), a GPT trained on 2016–2021 minute bars called the next minute’s direction right 50.6% of the time from 2023 to October 2026 — less than the 50.8% of simply saying “up” every time, and far below the 53.7% needed to cover a 1-cent spread. Bigger models (up to 1.59 million parameters, picked on 2022) lost after the spread in 77 of 78 tries, and the 78th made 0.03 basis points a trade. Apple, FUBO and natural gas futures looked more predictable but lost too: the “signal” was the last trade bouncing across the bid-ask spread. On hourly and daily bars, where costs barely matter, no GPT beat “always up” by more than 0.2 points. The one thing it learns — how big the next move will be — the options market already prices better: VIX1D tracked the day’s move more than twice as well.

next-minute direction right — “always up” scored 50.8%
50.6%
bigger GPT setups that lost money after the spread
77 of 78
markets where a minute-bar model beat its trading costs (SPY, Apple, FUBO, natural gas)
0 of 4
GPT vs VIX1D at predicting the size of the day’s move
0.14 vs 0.31

Key takeaways

  • Direction is a coin flip: on S&P 500 ETF minute bars the GPT was right 50.6% / 51.0% / 52.0% of the time over 1 / 5 / 15 minutes, never better than calling “up” every time, while 53.7% / 51.7% / 51.0% was needed to break even after a 1-cent spread.
  • Its most confident 10% of calls moved 0.04 basis points the right way before costs; the spread costs 0.18. Every version lost money after costs.
  • Bigger is not better: 13 sizes from 4,176 to 1.59 million parameters, chosen on 2022 only — 77 of 78 lost after the spread, and past ~30–200 thousand parameters nothing improved. The models overfit within a few hundred training steps.
  • Candlestick patterns as tokens ranked direction a little better (correlation 0.007–0.011) but still lost after the spread; none of 29 classic candlestick patterns (doji, hammer, engulfing …) held up in both the training and the test years.
  • Single stocks only look predictable: FUBO’s GPT called 58.6% of minutes right, but that is the next trade landing on the other side of the bid-ask spread — the best result after costs was −26 to −31 basis points a trade.
  • Hourly and daily bars make costs negligible (50.1–50.6% right to break even) but take the predictability with them: trained on daily S&P 500 bars since 1993, the GPT was right on 55.6% of test days, against 56.1% up days.
  • What it does learn is volatility — how big the next move will be. But the options market prices that better: VIX1D at the open tracked the day’s move with a correlation of 0.31 against the GPT’s 0.14, and as a filter for selling options it improved no strategy out of sample.

01

What we tested

Six rounds, each one a step further than the last. The models were trained on the early years, tuned on 2022, and scored once on 2023 to October 2026 — about 360,000 forecasts per horizon on the S&P 500 ETF alone — with the real cost of trading.

1A GPT on S&P 500 minute bars

Tested: SPY 1-minute bars, 2016 → October 2026. Each minute’s move, scaled by the usual size at that time of day and by recent volatility, becomes one of 17 tokens (8 sizes down, unchanged, 8 sizes up); the GPT reads the last 32 minutes and predicts the next 1, 5 and 15.

Found: Right 50.6% / 51.0% / 52.0% of the time — never above “always up” (50.8% / 51.4% / 52.0%), no better than a straight-line fit or a lookup table on the same minutes. Its edge flipped sign from year to year.

2Candlestick patterns as words

Tested: Every run of 3 one-minute candles turned into one of 32 shapes × small / usual / big range (96 tokens, 96 minutes of context); plus 8 single-candle shapes, 40 two-shape “words” and 29 classic candlestick patterns.

Found: A little better at ranking direction (t-statistic 2.3–3.6), but its best calls moved +0.03 to +0.09 basis points against a 0.18 spread. No single pattern held in both the training and the test years.

3Much bigger models

Tested: 13 configurations from 1 layer × 16 dimensions up to 8 layers × 128 (1.59 million parameters, 380× larger), 32–288 minutes of context, dropout and weight decay — chosen on 2022 alone, scored once on 2023–26.

Found: 77 of 78 configuration × horizon results lost after the spread; the last made +0.03 basis points a trade (t 0.3) and lost in 2022. No model called direction better than “always up”.

4Other markets

Tested: Apple, FUBO (a $1–6 stock) and natural gas futures, each with its own trading cost: 0.45, 21.7 and 7.9 basis points a round trip.

Found: Higher “accuracy” (FUBO 58.6% of minutes) that is bid-ask bounce: a plain “bet against the last minute” rule finds the same. Best result after costs per trade: Apple −0.05, natural gas −5.8, FUBO −26 basis points.

55-minute, hourly and daily bars

Tested: The same GPT on 5-minute bars, hourly bars and daily bars (S&P 500 since 1993), predicting up to an hour, a day and a month ahead.

Found: Costs stop mattering, but no GPT beat “always up” by more than 0.2 points. The few positive trading results were the market’s own rise or one lucky day.

6The size of the move, against options

Tested: The GPT’s forecast of how big today’s move will be, against VIX1D, the 0-DTE at-the-money straddle and simple averages of recent ranges, and as an entry filter for short-premium option strategies (broken-wing butterflies and an iron condor). Chosen on 2024 to June 2025, judged on July 2025 to October 2026.

Found: The weakest forecast of all — worse than yesterday’s range. Added to the options’ own implied move it made the prediction worse, and as a filter it lowered the profit of every strategy that made money.

02

Direction: no better than calling “up” every time

How often the GPT called the next move’s direction right in the test years, against the simplest possible rule — always say “up” (or “down”, whichever was more common) — and the share it needed to cover trading costs.

GPT direction accuracy against always up and the break-even rate, test years
Market · bars · horizonGPT right“Always up” rightNeeded after costs
S&P 500 ETF · 1-minute · next minute50.6%50.8%53.7%
S&P 500 ETF · 1-minute · next 15 minutes52.0%52.0%51.0%
S&P 500 ETF · 5-minute · next hour52.9%53.2%50.5%
S&P 500 ETF · hourly · next hour53.8%53.6%50.4%
S&P 500 · daily since 1993 · next day55.6%56.1%50.1%
Apple · 1-minute · next minute50.5%50.4%55.2%
FUBO · 1-minute · next minute58.6%50.3%111%
Natural gas futures · 1-minute · next minute52.6%50.1%103%

Test years: S&P 500 ETF and Apple January 2023 → October 2026, FUBO 2025 → 2026, natural gas February → October 2026. “Needed after costs” assumes wins and losses of equal size; above 100% means the average move is smaller than the round-trip cost, so even a perfect call loses. Where the GPT matches “always up” it was calling “up” almost every time.

03

How big will today’s move be? The options already know better

The GPT’s one real skill is forecasting the size of the next move, not its direction. Here every forecast is scored by its correlation with what actually happened (1 = perfect, 0 = no idea), July 2025 to October 2026, on the same days. The GPT was trained on daily S&P 500 bars from 1993 to 2021.

Correlation of each forecast with the size of the day’s S&P 500 move, July 2025 to October 2026
Forecast made at the openOpen → close moveHigh–low range
GPT, daily bars0.14
0.21
Yesterday’s high–low range0.17
0.37
Average of recent daily ranges + the overnight gap0.26
0.45
VIX at the open0.32
0.50
VIX1D at the open0.31
0.57

At 9:45 the GPT on 5-minute bars (0.30 for the move to the close) only tied the recent-ranges average with the first 15 minutes added, and trailed the 0-DTE straddle’s price (0.35). Adding the GPT’s forecast to VIX1D or the straddle lowered the out-of-sample fit every time.

04

Why it falls short

Prices hold almost no pattern

A heavily traded market’s past prices are already used by everyone. A straight-line fit and a lookup table on the same minutes, fitted completely, were just as flat as the GPT — there was nothing for a bigger model to find.

Costs are bigger than the edge

On SPY the best calls moved 0.04 basis points the right way before costs; the 1-cent spread is 0.18. On cheap stocks and futures the round trip costs more than the average 1-minute move.

Bigger models memorize

Most runs peaked after 200–1,300 training steps; after that the training loss kept falling while the held-out loss rose. Past ~30–200 thousand parameters nothing improved — 587,000 training minutes of 17-level tokens hold little more to learn.

The “accuracy” on small stocks is the spread

FUBO’s best 10% of calls showed +8.3 basis points close-to-close but only +0.34 from the next minute’s open: the model predicts that the next print lands on the other side of the bid-ask spread — a move nobody can trade.

It learns volatility — which is no secret

In the 20% of minutes it expected to be calmest SPY moved 1.82 basis points, in the 20% it expected to be wildest 3.16. That is real, but busy-follows-busy is the best-known fact in markets, and option prices already include it, along with the news calendar.

No new information

The models saw only price bars. Order books, trade flow, news and option prices — what professional short-term models use — were not in the input, so the GPT could only rearrange what the chart already shows.

05

What this test does not show

  • The largest model had 1.59 million parameters — tiny next to ChatGPT. But the extra size stopped helping at ~30–200 thousand, and simple fits of the same data were just as flat, so the limit was the data, not the model.
  • Only price bars were used. A model that also reads news, order books or option prices is a different test.
  • Four markets: the S&P 500 ETF, Apple, FUBO and natural gas futures, with test years from 2023 (natural gas: 2026) to October 2026.
  • We did not test ChatGPT itself or any chat assistant; they read text, not price data.

06

Questions

Can a GPT predict the stock market?

Not from price charts, in our test. GPT models trained on S&P 500 ETF minute bars from 2016 to 2021 called the next minute’s direction right 50.6% of the time from 2023 to October 2026, below the 50.8% of always saying “up” and far below the 53.7% needed to cover a 1-cent spread. Bigger models (up to 1.59 million parameters), candlestick-pattern tokens, other stocks and hourly or daily bars gave the same result: no edge after costs.

Can ChatGPT predict stock prices?

We did not test ChatGPT itself, which reads text. We trained GPT models — the same transformer design — directly on price bars, which is the most direct way such a model could learn price patterns. They could not call direction better than “always up” on any of 1-minute to daily bars, and every version lost money after trading costs.

Does a bigger AI model predict stock prices better?

No. We tried 13 sizes from 4,176 to 1.59 million parameters, chosen on 2022 only and scored once on 2023–2026. 77 of 78 configuration × horizon results lost money after the spread, and the 78th made 0.03 basis points a trade (t-statistic 0.3). The models fitted 2022 a little better but overfit within a few hundred training steps; past about 30–200 thousand parameters nothing improved.

Can AI predict how much the stock market will move?

Somewhat — that is the one thing the GPT learned. Its forecast of the next move’s size had a correlation of 0.17 at 1 minute and 0.25–0.30 for the next day. But simpler measures do better: from July 2025 to October 2026, VIX1D at the open tracked the size of the day’s S&P 500 move with a correlation of 0.31 (0.57 for the high–low range), against the GPT’s 0.14 (0.21); even yesterday’s range beat the GPT.

Do candlestick patterns predict the next move?

Not enough to trade, in our test on S&P 500 ETF minute bars. None of 29 classic patterns (doji, hammer, engulfing, harami, stars, soldiers, crows, inside and outside bars), 32 learned three-candle shapes or 40 two-shape combinations held up in both 2016–2021 and 2023–2026. The closest — after three rising minutes the next five are about 0.2 basis points weaker — is smaller than the 1-cent spread.

Why does an AI model look accurate on small stocks?

Because of the bid-ask spread. On FUBO, a $1–6 stock, the GPT called 58.6% of minutes right — but it was predicting that the next trade lands on the other side of the spread. From the next minute’s open, the move it could actually trade was +0.34 basis points against a 21.7 basis-point round trip, so its best calls lost 26–31 basis points a trade.

Can a volatility forecast tell when options are overpriced?

Not the GPT’s. Options overpaid a little on average (the day’s move from 9:45 was 0.92–0.94 of the 0-DTE straddle’s price), but days the GPT called calm were not reliably the overpriced ones: the pattern flipped between 2024–25 and 2025–26. Used as an entry filter for short-premium strategies, it lowered the profit of every strategy that made money in the later period.

Is this investment advice?

No. It is a test of past prices for education. Past results do not promise future ones, and trading costs and risk vary by account.

07

How the test works

  • Model: a GPT (decoder-only transformer) written from scratch, trained to predict the next price-move token; sizes from 1 layer × 16 dimensions (4,176 parameters) to 8 layers × 128 (1.59 million).
  • Tokens: each bar’s move scaled by the usual size at that time of day and by recent volatility, then cut into 17 levels; or each run of 3 one-minute candles as one of 32 shapes × 3 range sizes.
  • Data: S&P 500 ETF (SPY) minute bars 2016 → October 2026 and daily bars since 1993; Apple and FUBO minute bars; natural gas front-month futures, two years.
  • Split: train on the early years (SPY 2016–2021), choose sizes and checkpoints on the next year (2022), score once on the rest (2023 → October 2026) — never seen in training or tuning.
  • Trading: buy or sell at the next bar’s open, out at the close k bars later, after one round trip of costs — 1 cent a share for stocks, 1 tick plus fees for futures.
  • Comparisons: always up, a straight-line fit on the last 32 bars, a lookup table on the last bar, and “bet against the last move”; t-statistics count each day (on daily bars each month) once.
  • Options: VIX1D and VIX at the open, and the 0-DTE at-the-money S&P 500 ETF straddle at 9:45; strategies replayed at mid prices after $0.56 a contract, chosen on January 2024 to June 2025 and judged on July 2025 to October 2026.

Not investment advice

This is a study of past prices, published for education. Leveraged funds, options and futures can lose most of their value quickly, and a pattern seen in the past can break. Nothing here is a recommendation to buy or sell anything. Decide with your own judgment, or with a licensed adviser.