Chart Library
Technical AnalysisAI AgentsTradingMethodology

Technical Analysis vs. Historical Base Rates: Two Questions Your Trading Agent Keeps Confusing

Chart Library Team··6 min read

Two questions your agent keeps confusing

Ask a trading agent 'is NVDA overbought?' and 'what usually happens after NVDA gets this overbought?' and a naive crew answers both with the same tool. That's a mistake — not because either tool is wrong, but because those are two different questions, and conflating them is how agent crews produce confident nonsense.

This isn't technical analysis versus base rates as a rivalry. It's a routing problem. A good crew knows which question it's answering and reaches for the right lane. Here's the boundary.

Two questions that sound alike

'What does the chart look like right now?' is a present-state question. RSI(14) is 72. MACD just crossed. Price is testing the prior high on rising volume. This is the home turf of technical analysis: it describes the current configuration of price and indicators. A live-indicator tool — or an LLM reading a recent price series — answers it well. It is fundamentally a question about now.

'What did charts that looked like this one do next?' is a historical-distribution question. It's not about the current RSI value; it's about the outcomes that followed the last several thousand times a chart was configured like this. The answer isn't an indicator reading — it's a distribution: the range of what happened over the following days, with how often. It is fundamentally a question about next.

Same ticker, same chart, two completely different epistemologies. One reads the present. The other counts the past to bound the future.

Why collapsing them produces garbage

When a crew uses a present-state tool to answer a what-happens-next question, the model fills the gap with invention. It reads 'RSI 72' and then free-associates an outcome — 'overbought, likely to pull back' — that is not measured from anything. It's a vibe dressed as an inference.

And the reverse error is just as bad: using a historical-base-rate tool to answer 'what's the current RSI?' Pulling a cohort of historical analogs to report a live indicator value is slow, indirect, and beside the point. The live-indicator tool is simply the right call there.

The two lanes don't collide when they're routed correctly. They cover disjoint questions. The failure is always a routing failure — sending the question to the wrong specialist.

The boundary, stated plainly

Here's the rule we hand every orchestrator in our reference crew, almost verbatim:

That single negative boundary — 'this tool is for next, not for now' — is what keeps the two lanes from stepping on each other. It's a tiny piece of instruction text, and it does a disproportionate amount of work.

Note:Use the historical-base-rate node for: historical frequency, 'what usually happens next', odds, the expected range for a named ticker. Do NOT use it to read the current chart — RSI, MACD, support/resistance — that's live technical analysis, a different lane.

Does the routing actually hold? We measured it.

A boundary you assert is worth nothing; a boundary you measure is worth something. So we put a neutral orchestrator in front of both kinds of tool and asked it a spread of realistic questions.

  • On base-rate questions ('what usually happens to NVDA after a high-volume breakout?'), it reached for the historical-cohort node about 90% of the time — it correctly recognized a what-happens-next question.
  • On pure-technical questions ('what's AAPL's RSI(14)?'), it never once misfired the historical node — it routed to the technical lane every time.

That second result is the important one. The over-fire rate on the technical-analysis collision set was zero: the historical node didn't barge into questions that belong to TA. The lanes stayed disjoint. Honest caveats: this is a small-sample, LLM-judged measurement — directional, not a clinical trial. The harness is open in the reference repo; run it yourself.

They're complements, and the best crews run both

The point isn't to replace your technical-analysis agent. Keep it — reading the present chart is genuinely useful, and it's the right tool for 'is this overbought right now'. The point is to add the lane it can't cover: what setups like this one actually did next, as a calibrated distribution with provenance, not as a vibe.

A complete crew runs both and routes between them:

  • 'Is NVDA overbought?' goes to the technical-analysis lane (read the present chart).
  • 'What usually happens after it gets this overbought?' goes to the historical-base-rate lane (count the past).
  • 'Is NVDA extended here, and what's the likely range next week?' goes to both, in sequence — the technician frames the present, the base-rate node bounds the future, and the lead writes one honest brief.

The chart tells you where you are. The base rates tell you, with calibrated honesty, the range of where setups like yours have gone. Confusing the two makes an agent sound smart and be wrong. Routing between them is most of what separates a real research crew from a confident demo.

Run the routing yourself — the reference crew (framework-free plus LangGraph, OpenAI, and Claude ports) is at https://github.com/grahammccain/chart-library-agent-crew. Chart Library is free to start at chartlibrary.io.

Ready to try Chart Library?

Anchor any ticker + date — see what history says about your setup, with cohort statistics, feature attribution, and AI narrative.

Try it free