Can ChatGPT Really Predict the Stock Market? I Took Apart How It Actually Thinks to Find Out A developer investigated whether large language models like ChatGPT, Claude, and Gemini can accurately predict stock market movements, concluding they are fundamentally unsuited for the task. The analysis explains that LLMs are next-word predictors, not mathematical or analytical engines, and that claims of 90% accuracy are misleading. The developer breaks down how tokenization and embeddings work, showing that these models lack the numerical reasoning needed for reliable stock forecasting. Nephew saw a YouTube ad. Someone was selling a "secret prompt" for ₹199, claiming ChatGPT and Claude can analyze the stock market and place trades with 90% accuracy — no technical analysis, no fundamentals, just paste this prompt. He brings it straight to Uncle. 👦 Nephew: Uncle, I saw an ad on YouTube. Some guy was saying, "Use ChatGPT and Claude AI for stock market analysis, take trades with 90% accuracy. You don't even need to know technical analysis or fundamentals — just use this prompt and you'll get all the results." Is that actually possible? 👨🦳 Uncle: laughs Ah, here we go. This is exactly how a lot of scams happen — and honestly, it's rarely because of some clever new invention. It's because of a lack of understanding, and people treating these models as a magic black box. 👦 Nephew: So are they scamming us? Or genuinely fooling themselves too? 👨🦳 Uncle: Not exactly a straightforward scam, and not exactly genuine either. Here's the honest split: they're maybe 30% correct, and 70% wrong. 👦 Nephew: What does that even mean? 👨🦳 Uncle: I'll accept this much — there genuinely are AI models out there that can do a solid job predicting stock trends or running fundamental analysis, because that kind of prediction is heavily mathematical, numerical work. But — and this is the important part — ChatGPT, Claude, and Gemini are not that kind of model. 👦 Nephew: Why not? It can literally write code. It can do math inside code. Why can't it just... do math for stock prediction too? I genuinely don't get it. 👨🦳 Uncle: Come, sit. This needs a proper, from-scratch conversation. We're going to dig all the way down to what these models actually are , and by the end, you'll understand exactly why ChatGPT, Claude, and Gemini are the wrong tool for this specific job — not a scam exactly, but sold by people who never actually opened the box themselves. 👨🦳 Uncle: Before anything else, one sentence, and hold onto it for the rest of this conversation: an LLM is a system trained to predict the next word in a sequence of text, based on patterns learned from an enormous amount of writing. That's it. Not a database. Not a calculator. Not a stock analyst. A next-word predictor, at a truly massive scale. 👦 Nephew: That sounds too simple to explain something that writes essays, codes, and holds a whole conversation with me. 👨🦳 Uncle: That's exactly the surprise we're going to unpack, piece by piece. Let's build it from the ground up. 👨🦳 Uncle: Computers don't understand "stock market" or "accuracy." They only understand numbers. So the very first thing that happens to anything you type is that it gets broken into small pieces called tokens . Your message: "Predict tomorrow's stock price" │ v Broken into TOKENS: "Predict", " tomorrow", "'s", " stock", " price" │ v Each token converted into a NUMBER a token ID : 6822, 5477, 596, 5708, 3430 👦 Nephew: So a token isn't always a full word? 👨🦳 Uncle: Correct — common words usually stay whole, rarer ones get split into smaller familiar chunks. This is the very first gate anything you type has to pass through before any "thinking" happens at all. 👦 Nephew: Okay, 6822, 5477... — those are just arbitrary ID numbers. How does the model know "stock" and "share" are related, but "stock" and "banana" are not? 👨🦳 Uncle: Good instinct. A raw token ID means nothing by itself — just a locker number. The next step converts each token into a long list of numbers called an embedding , which actually captures meaning. stock → 0.21, -1.4, 3.2, ... share → 0.19, -1.3, 3.1, ... ← very SIMILAR numbers banana → -2.1, 4.5, -0.8, ... ← very DIFFERENT numbers 👦 Nephew: So related concepts land close together in this number space? 👨🦳 Uncle: Exactly — an "AI fingerprint" for each token's meaning. And crucially, nobody hand-coded this. It emerges automatically from training, purely from seeing these words appear in similar contexts, billions of times over. 👨🦳 Uncle: Now the part researchers consider the real breakthrough. Take this sentence: "The company's stock dropped after the CEO resigned, and ithasn't recovered since." What does "it" refer to? 👦 Nephew: The stock, obviously. 👨🦳 Uncle: Obvious to you, instantly. But the model has to actually work that out, through a mechanism called attention — instead of reading strictly one word at a time in isolation, it looks back across the whole sentence and asks, for every word: "which earlier words matter most for understanding this one?" Predicting what "it" refers to: "The" ─── weak connection "company's" ─── weak connection "stock" ─── STRONG connection ← attention focuses here "CEO" ─── weak connection "resigned" ─── weak connection 👦 Nephew: So it's constantly re-checking back across everything that's been said? 👨🦳 Uncle: Constantly — and this is exactly why, in a long conversation, if you'd mentioned "I'm looking at Tesla" ten messages ago, the model can still shape a much later answer around that context. It's not remembering in the human sense; it's mathematically re-weighing everything said so far, every single time it predicts a new word. 👦 Nephew: Okay, now the real question. Everyone says "billions of parameters." What actually IS a parameter, or a weight? 👨🦳 Uncle: A weight is just one number. Genuinely that simple — something like 0.734 or -1.29 . On its own, meaningless. 👦 Nephew: Then why is it treated like some deep secret? 👨🦳 Uncle: Purely because of scale. A model doesn't have one weight — it has billions , arranged into huge grids, stacked across dozens of layers. The embeddings from Part 3 and the attention scores from Part 4 all get combined and reshaped, layer after layer, using exactly these numbers. ONE weight: 0.734 means almost nothing alone A tiny GRID of weights: 0.21 -0.87 0.44 -0.32 0.91 -0.15 0.67 -0.05 0.28 A REAL model: thousands of grids like this, stacked across dozens of LAYERS — adding up to tens or hundreds of BILLIONS of numbers 👦 Nephew: So the entire "brain" is genuinely just a colossal pile of decimal numbers? 👨🦳 Uncle: That's the honest truth. No symbolic rule anywhere saying "if stock drops after CEO resigns, predict recovery in X days." Just an enormous, carefully arranged pile of numbers that, when your input flows through them in a specific mathematical sequence, happens to produce a plausible next word, almost every time. 👦 Nephew: Who decided these billions of numbers? 👨🦳 Uncle: Nobody, by hand — impossible at this scale. They're learned , through a process called training . Step 1 — Start with random garbage. Every weight begins meaningless. Step 2 — Show it real text, with the ending hidden: "The capital of France is " Step 3 — Let it guess, using current mostly random weights: Guess: "banana" ← very wrong, early on Step 4 — Measure exactly HOW wrong that guess was called the "loss" Step 5 — Nudge every weight slightly, in the direction that would have made THIS guess a little less wrong this is called backpropagation Step 6 — Repeat this ENTIRE cycle billions of times, across trillions of words of real text Random weights → guessed "banana" → VERY wrong → nudge slightly │ v Slightly-less-random → guessed "apple" → still wrong → nudge again │ v ... repeated BILLIONS of times ... │ v Well-tuned weights → guessed "Paris" → correct 👦 Nephew: So training is just: guess, check how wrong, nudge every knob a tiny bit, repeat — an absurd number of times? 👨🦳 Uncle: Genuinely the entire process. Not clever in the sense of understanding — clever in the sense of relentless, precise repetition at a scale no human could replicate by hand. 👦 Nephew: So training happens once, ahead of time. What happens the moment I actually type my question? 👨🦳 Uncle: This separate phase is called inference — and here's the crucial part: no weights change at all during this phase. They're completely frozen. Your question just flows through that already-finished mathematical machine. 1. Your question becomes tokens Part 2 2. Each token becomes an embedding Part 3 3. Attention figures out which earlier words matter most Part 4 4. Everything flows through every layer of FROZEN weights Part 5 5. The final layer produces a SCORE for every possible next word Scores for "The stock will likely ": "rise" ── 40% "fall" ── 38% "stabilize" ── 15% "moon" ── 0.1% 👦 Nephew: So it just picks the highest-scoring word and moves on? 👨🦳 Uncle: Exactly one word at a time — predicts it, appends it, then runs the entire process again from scratch to predict the next word, using its own previous word as new input. Round 1: "The stock will likely" → predicts "rise" Round 2: "The stock will likely rise" → predicts "in" Round 3: "...rise in" → predicts "the" 👦 Nephew: So a whole confident-sounding paragraph is really just this one-word loop, run over and over, incredibly fast? 👨🦳 Uncle: Exactly — and notice something important in that example: "rise" scored 40%, "fall" scored 38%. Almost a coin flip, mathematically. But the model still has to pick ONE word to continue with, and whichever one it picks, it will then continue writing a fully confident, fluent paragraph justifying that choice — even though the underlying "certainty" was barely above chance. 👦 Nephew: Wait — when someone pastes ten years of stock prices into the chat and asks for a prediction, doesn't the model at least search through some database of historical patterns to find a match? 👨🦳 Uncle: No — and this is exactly where people get confused, because it sounds like it should work that way. A plain LLM does not convert your question into an embedding and search a database of stored answers. That specific behavior — embedding your question, searching a vector database, retrieving the closest matches — is a separate , deliberately bolted-on system called RAG Retrieval-Augmented Generation , and a basic ChatGPT/Claude conversation doesn't do this unless it's explicitly connected to search or a document store. PLAIN LLM answering you: Your question → tokens → INTERNAL embeddings used only in the model's own math, never stored or searched → attention + weight layers → next-token prediction, repeated → answer RAG a genuinely different, additional system : Your question → embedding MADE FOR SEARCHING → compared against a VECTOR DATABASE of real documents → Top-K most similar retrieved → stuffed into the prompt as extra text → THEN the LLM reads all of that and generates an answer 👦 Nephew: So when I paste ten years of stock prices, it's not "searching" that data against anything — it's just reading it as plain text, like any other paragraph, and predicting the next plausible-sounding token after it? 👨🦳 Uncle: Exactly right. Your pasted spreadsheet of numbers becomes tokens, like everything else. The model has no special internal "numerical reasoning engine" running underneath treating those numbers differently from words — it's the exact same next-token prediction machinery from Part 7, just fed numbers instead of sentences. 👦 Nephew: This is the part that's always confused me most. It can write a Python script that calculates a moving average perfectly. That's math So why do people say it "can't do math"? 👨🦳 Uncle: Beautiful question, and this is where the real distinction lives. Let's separate two completely different things: writing code that does math , versus doing math directly, in its own head, as it generates an answer. SCENARIO A — Asking it to WRITE CODE that calculates something: You: "Write Python code to calculate the 50-day moving average" │ v Model predicts TEXT that looks like valid Python code │ v YOU or your computer actually RUN that code │ v The REAL Python interpreter — a deterministic, exact calculator — does the actual arithmetic. NOT the LLM. │ v Result: 100% mathematically correct, because a REAL calculator did it SCENARIO B — Asking it to calculate something DIRECTLY, in the chat: You: "What's 847293 multiplied by 58291?" │ v Model does NOT run a calculator internally. It predicts, digit by digit, what NUMBER-SHAPED TEXT is most likely to follow "847293 × 58291 = " │ v For small, common calculations seen often in training data, this guess is often right, because the answer appeared enough times to be learned as a pattern. For large, unusual numbers, there's no reliable pattern to lean on — so it may produce a confident-LOOKING wrong answer. 👦 Nephew: So when it writes code, the real math happens outside of it, in an actual calculator — but when I ask it to calculate something directly in the chat, it's just guessing digit-shaped text? 👨🦳 Uncle: Exactly the distinction, and it's the single most important thing to understand before we go back to your stock prediction question. Writing correct code is a language skill — the model has seen millions of examples of correct-looking Python, and it's very good at reproducing that pattern reliably. Direct arithmetic, done purely as next-token prediction with no calculator involved, is fundamentally unreliable at scale, because there's no actual computation happening — just very well-informed guessing about what digits typically follow other digits in similar-looking problems. Writing CODE that computes something = a LANGUAGE task the model is genuinely excellent at it's seen millions of examples of correct code patterns DOING math directly, in its head, as generated text = NOT a real computation at all — just predicting plausible-looking digits, with no guaranteed correctness 👦 Nephew: Okay. Now I think I finally see it. So when that YouTuber says "just paste your data and get a 90% accurate prediction" — the model isn't running any real statistical forecast. It's just predicting plausible-sounding financial text, the same way it predicts plausible-sounding digits? 👨🦳 Uncle: Exactly that, stated precisely. Real stock forecasting is a time-series problem — it needs models specifically built and trained to find genuine statistical structure in numerical sequences, and rigorously tested backtested against how accurate their numerical predictions actually turned out to be, historically. That is a completely different job from "predict the next plausible word in a sentence." ChatGPT / Claude / Gemini Real Stock Forecasting Models Predicts The next likely TOKEN A future numeric value Trained on Text, code, conversation Historical prices, order books, macro indicators, volume data Objective Language generation Time-series forecasting Rigorously No — fluency and Yes — backtested against backtested for plausibility, not actual historical accuracy, numerical accuracy? numerical accuracy that's the entire point Examples ChatGPT, Claude, Gemini ARIMA, Prophet, LSTM, XGBoost, Temporal Fusion Transformer 👦 Nephew: So even if it sounds extremely confident — "Based on the pattern, this stock will likely rise 3.2% tomorrow" — that confidence is coming from fluent language generation, not an actual calculated probability? 👨🦳 Uncle: Precisely, and remember Part 7's example — "rise" at 40%, "fall" at 38%. The model will still commit to a fluent, fully-formed, confident-sounding sentence around whichever one it picked, regardless of how close that internal call actually was. There's no asterisk saying "by the way, this was nearly a coin flip." It simply doesn't work that way. 👨🦳 Uncle: Now, to be completely fair — because dismissing it entirely would be its own kind of oversimplification — there are things ChatGPT, Claude, and Gemini genuinely do well in this space: ✅ Summarizing a company's earnings report in plain language ✅ Reading through hundreds of news articles and pulling out the key themes ✅ Explaining WHY a stock moved yesterday , based on the news and filings it's given ✅ Detecting sentiment — is this article broadly positive or negative about a company? ✅ Explaining financial concepts and risks in a way a beginner can actually understand What it genuinely cannot reliably do: ❌ Forecast tomorrow's price with any calculated, backtested probability ❌ Time an exact buy/sell decision based on numerical patterns alone ❌ React to live, real-time market data without an explicitly separate tool feeding it in ❌ Guarantee any stated accuracy percentage — a claim like "90% accuracy" implies rigorous backtesting that a next-token predictor was never built or evaluated for 👦 Nephew: So it's less "AI can't help with stocks at all," and more "AI helps with the reading and explaining part, but the actual numerical forecasting part needs a completely different tool"? 👨🦳 Uncle: That's exactly the nuanced, accurate way to say it. Never say "LLMs can't help with the stock market" — that's too absolute, and wrong. Say: "LLMs are not designed or built for numerical price forecasting, though they can genuinely assist with the language-heavy analysis around it." That's the honest, technically correct claim. 👦 Nephew: Okay, final verdict. Is that YouTuber deliberately scamming people, or do they genuinely not understand what they're selling? 👨🦳 Uncle: Honestly, it's usually somewhere in between, and either way, the giveaway is the same: anyone with a genuine, reliable, 90%-accurate trading edge would not be selling it to strangers for ₹199 on YouTube. They'd be quietly trading with it themselves, at scale, for far more money than a prompt-selling course could ever earn them. The far more likely explanation, based on everything we just walked through: they got a plausible-sounding answer once or twice, mistook fluent, confident language for a genuine calculated forecast, and are now selling that misunderstanding to other people who also haven't opened the box to see what's actually inside it. 👦 Nephew: So it's not that the technology is fake — it's that it's being applied to a job it was never built for, and sold with a confidence the tool itself never actually earned. 👨🦳 Uncle: That's exactly it. The tool is remarkable, genuinely — everything we walked through today, tokens becoming meaning-carrying numbers, attention figuring out what matters, billions of frozen weights producing fluent language one word at a time, is real and impressive. It's just being pointed at the wrong target. A brilliant language model asked to forecast numbers is not a scam of the technology — it's a misuse of it, sold with a confidence number that was never actually earned by any real backtest. 👦 Nephew: So next time I see an ad like that, I actually know enough now to ask the right question — not "does AI work," but "is this actually the right kind of AI for this specific job." 👨🦳 Uncle: Exactly the instinct that separates someone who understands the tool from someone selling a black box to people who don't. That's the whole lesson, in one sentence.