Learn / AI in Trading

How AI hallucination shows up in market analysis

In market analysis, hallucination rarely looks like an obviously false statement. It looks like a plausible number, a confidently named pattern, or a causal explanation delivered in exactly the same tone as a verified fact.

Which makes it harder to catch than the textbook version, because there is no seam.

The shapes it takes

Invented specificity. “Support sits around 58,400” — a number with the texture of analysis that may be a plausible-looking value rather than a level read from data. Round-ish numbers with a specific-looking offset are the characteristic form.

Pattern naming. Technical patterns have names and loose definitions, so a model can label a chart with a name that fits the description without the chart matching it. The label carries authority the observation does not.

Causal explanation. “Price fell because of X.” Financial writing is saturated with post-hoc causal attribution, so a model produces it fluently. Almost none of it is verifiable, and the fluency is a property of the training data rather than of the reasoning.

Stale data presented as current. The model does not know when its data is from. If your tools return delayed prices, the analysis reads exactly as it would on live data. There is no flag, and nothing downstream can infer one.

Aggregation that was never computed. “Your portfolio is up about 3% this week” — assembled from context rather than calculated, and close enough to be believed.

Why confidence carries no signal

A language model produces the text most likely to follow its input. Analytical writing is confident, so the output is confident — independent of whether the underlying claim is grounded.

There is no internal channel distinguishing “I read this from the tool result” from “this is how such sentences usually go”. Which means the usual human cue for reliability is inverted: in a person, hedging often signals uncertainty and specificity signals knowledge. In a model, specificity is cheap and hedging is a stylistic choice.

This is the same reason AI cannot predict the market — fluency and accuracy are optimised separately — applied to a smaller-scale failure.

The trading-specific danger

Hallucinated analysis is more dangerous than hallucinated trivia for one reason: it usually will not be contradicted.

If a model invents a citation, you look for it and fail. If it invents a support level, price does something, and whatever happened can be read as consistent with the claim. There is no feedback loop.

Combine that with a model that is right often enough to be useful, and you get a process where the errors are invisible and the successes are memorable. Every condition for a false confidence loop is present.

What is verifiable and what is not

The useful split:

Verifiable against ground truthNot verifiable
Current position sizes and balances“Support is at X”
Fees and funding accrued“The trend is intact”
Distance to liquidation“This is a bull flag”
Order status“Price fell because of Y”
Arithmetic — R, exposure, risk“This setup usually works”

Everything in the left column is where the value is. It is also where the model is reliable, because the answer is derivable from data it was handed rather than generated from priors.

The right column is where hallucination lives, and it is precisely the column people ask for.

Reducing it

Ask for derivations, not conclusions. “Compute my exposure and show the inputs” is checkable. “How am I positioned” invites narrative.

Give it the data rather than asking it to recall. A model reasoning over a tool result is doing something different from a model producing what such a result usually looks like.

Ask the same question twice in separate sessions. Grounded answers agree; generated ones drift. This is a cheap and surprisingly effective test.

Require the model to state what it did not have. A model asked “what data would you need that you were not given” often answers accurately, which surfaces the gaps it otherwise papers over.

Verify one number per session. Pick a figure and check it against the exchange. Not because you will catch everything, but because the habit prevents the confidence loop from closing.

The failure mode that matters most

Not a wrong number in a summary. It is an invented number reaching an order.

A hallucinated support level becoming a stop level becoming a position size is a chain where each step looks reasonable and only the first was fabricated. The order that results is well-formed and entirely plausible.

Which is why the controls that work are structural rather than attentional: an approval step showing the actual parameters, a size cap evaluated in code, and a stop you placed at a level you chose — see how to choose a stop-loss level. None of them require detecting the hallucination.

FAQ

How do I know if an AI is hallucinating market analysis?

Often you cannot from the output alone, because the tone does not vary with certainty. The practical approach is structural: ask for derivations you can check rather than conclusions you cannot, verify one figure per session against the exchange, and ask the same question twice in separate sessions — grounded answers agree while generated ones drift.

Can AI invent price levels?

Yes, and it is one of the most common forms. A support or resistance level is a number with a plausible shape, which is exactly what a language model produces well. Unlike an invented citation there is nothing to look up, and whatever price subsequently does can be read as consistent with the claim.

Is AI analysis reliable if it has live data?

More reliable, and not automatically reliable. Tool results ground the factual parts — balances, positions, fees — but interpretation is still generated, so the numbers can be correct while the narrative built on them is not. The split worth holding is between what was computed from data and what was written about it.

What is the most dangerous hallucination in trading?

An invented number that reaches an order. A fabricated support level becoming a stop becoming a position size produces a well-formed, plausible order where only the first step was made up. The defence is not detecting it but bounding it: approval on real parameters and size limits enforced in code.