Technical Analysis vs. Historical Base Rates: Two Questions Your Trading Agent Keeps Confusing
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 freeLearn the methodology
Chart Library is built on four canonical concepts. Read the pillars to understand what backs the numbers in this post:
Related Articles
How to Build a Market-Research Agent Crew in 2026: Frameworks, Data Costs, and the Missing Primitive
A practical 2026 guide to building a multi-agent market-research crew — the specialist roles, what the data actually costs ($0 to ~$250/mo), the frameworks that wire it together, and the one calibrated-base-rate node most crews are missing.
What Does It Cost to Build an AI Trading Agent in 2026? A Data-Stack Breakdown
The honest 2026 line-item cost of feeding a multi-agent trading crew real market data — which lanes are free (SEC EDGAR, FRED), which actually cost money (price, options, news), and the two realistic budgets: a $0–30/mo one-day-lagged crew vs a ~$180–270/mo live-everything crew.
The Oracle Fallacy: Why Your Trading Agent's Backtest Lies — and What Calibrated Base Rates Fix
Most trading-agent backtests and demos quietly peek at the future they claim to predict — the Oracle Fallacy. Here's how it sneaks in (lookahead bias, hindsight base rates, LLMs inventing odds), why it inflates nearly every result, and the honest fix: real historical analogs plus time-gated calibration with provenance.