Graham McCain
Builder of Chart Library: a market-state memory, a calibration layer with a public coverage record, and a research program that publishes what it learns and what it fails to learn. He designed and wrote the whole system — data pipeline, embedding substrate, calibration, API, MCP server and the research machinery — and runs it as a free, public research platform.
embedded chart states across 20,000+ symbols and ten years, searchable in milliseconds
held coverage of a nominal 80% band across 303,000 real cases — the calibration record is public
pre-registered studies, most of them negative, every one kept with its verdict and receipts
the price of all of it — Chart Library is a free research platform for people and for agents
What he is doing
Chart Library started from a simple question: when a stock looks like this today, what has usually happened next, and how sure can anyone honestly be? Answering it well turned out to require three things most tools skip. A memory that finds genuinely comparable situations rather than shape twins. A calibration layer that measures its own ranges against what really happened. And a research discipline that treats a negative result as a result. Graham built all three and put the records where anyone can check them.
The current work is the research program itself: pre-registered studies on what the memory knows, daily research drawn from the day's market states, and the receipts that let a reader, or an AI agent, see how much to trust each number. The tools are free and open to agents through an API and an MCP server.
How he works
State the bar before pulling a number.
Every study is registered with one pass/fail criterion, held-out splits and placebo nulls before any result exists. A study that fails is published exactly like one that passes.
Similarity, never a forecast.
The memory finds situations that looked alike and reports what followed as a distribution with honest width. It never picks a side, and the calibration layer is measured against reality every night.
Receipts over narratives.
When the memory does not know something, the packet says so — how many analogs actually shared the event, how wide the range really is. Four narrative hypotheses were refuted this year; the conditions survived, the stories did not.
Ship, measure, keep the record.
A live system with a nightly pipeline, a dead-man's switch on every job, and an audit trail from raw data to published number. If it cannot be re-derived from the journal, it is not a result.
The stack, briefly
Self-supervised retrieval embeddings trained for scale-invariant shape similarity (no return labels, by design), a situation-first retrieval that screens on the market state before ranking on shape, a split-conformal calibration layer with per-regime and per-partition corrections, TimescaleDB with pgvector on AWS, FastAPI, a Next.js front end, and a nightly pipeline whose every step journals its own success. The methodology, the evaluation and the calibration record are published on this site.