Kaleidoscope MCP · talking points

What we bring to a systematic desk like Jump.

Not another data terminal for humans. We do the deterministic assembly of financial data — the aggregation, joins, point-in-time reconstruction, and classification — so your models and agents get a small, correct, cited result and spend their non-determinism on judgment, not on trying to sum a million rows in their head.

Lead with this — the honest frame

We are not tick data, order-book, low-latency feeds, or crypto. You win that game; we won't pretend to compete on microstructure.

We are the fundamental & alternative-signal layer for your research and event-driven side — assembled to be safe to backtest and safe to auto-consume.

"We're not selling you market data — you're better at that than anyone. We do the fundamental and alt-signal layer, built so it survives a rigorous backtest and won't lie to your models."

The value-add nobody else names — we do the deterministic half

An LLM is the wrong tool for assembling data. It's the right tool for reasoning about it.

We do this — deterministic, verifiable

Assembly

  • Cross-sectional aggregation over millions of rows
  • Joins, dedup, canonical entity resolution
  • Point-in-time reconstruction (no lookahead)
  • Survivorship-complete counting
  • Transaction classification into typed enums
  • Value sanitization & provenance
Your model / agent does this — probabilistic

Reasoning

  • Judgment about what the numbers mean
  • Synthesis across signals
  • Hypothesis & narrative
  • Language & explanation

Ask a model to do the left column and it produces a number that looks right. That's the failure mode we remove.

"We spend our engineering on the deterministic assembly so your model spends its non-determinism where it's actually good — on judgment, not on hallucinating a sum. Neither half is sufficient alone; we're purpose-built to feed the probabilistic one."

Try these in Claude alone. Then hand it our data. ← the demo that closes it

Aggregation · millions of rows"What's the net institutional flow into Apple last quarter?"
✗ CLAUDE ALONE
Produces a confident dollar figure — invented. It can't sum 73M holdings rows it can't see, so it pattern-matches to a plausible number. It also can't know the subtlety that matters.
✓ WITH KALEIDOSCOPE
−$51.8B, share-based (Δshares×price), summed across every notable manager — not the −$199.7B price-inclusive figure that counts a flat position as a "sell" because the price moved. Exact, and correctly defined.
Point-in-time · no lookahead"What was US unemployment as it was known in mid-May 2020?"
✗ CLAUDE ALONE
Gives today's revised figure. It has no concept of a vintage — its knowledge collapses to "now," so it silently leaks the future into a backtest.
✓ WITH KALEIDOSCOPE
14.7% — the first print as released 2020-05-08 — vs 14.8% revised later. The difference between a real backtest and a fiction.
Classification + sum · at scale"Net discretionary insider buying at company X over 90 days, excluding planned 10b5-1 sales."
✗ CLAUDE ALONE
Can't. It doesn't have the Form 4s, can't classify the transaction codes or read the 10b5-1 footnotes, and can't sum. It either declines or invents.
✓ WITH KALEIDOSCOPE
net_discretionary_usd — buys minus sells with planned sales stripped out — over 10.2M classified legs, PIT on filing date. (Footnote recovery reclassified 803,890 pre-2023 sells that everyone else has mislabeled.)
Survivorship-complete · the failures"How often does a drug on this target actually advance past Phase 2?"
✗ CLAUDE ALONE
Estimates from the successes it remembers. The companies that failed and delisted vanished from its training signal — so the rate is biased high, and it can't tell you by how much.
✓ WITH KALEIDOSCOPE
The real base rate, computed with the delisted failures in the denominator — built from 21 years of filings across companies that no longer exist.
Document diff · thousands of pairs"Which filers rewrote their risk factors the most this year?"
✗ CLAUDE ALONE
Can't diff thousands of 10-K pairs it can't see. Returns a vague, unverifiable guess from memory.
✓ WITH KALEIDOSCOPE
Every filer ranked by year-over-year change magnitude — the published Lazy-Prices alpha (Cohen-Malloy-Nguyen 2020), computed as a cross-sectional score.
"Every one of these fails the same way in a raw LLM — it hallucinates a confident number. The fix isn't a smarter model; it's doing the deterministic assembly first. That's us."

Two layers — from the aggregate down to the exact sentence

The tools compose. Start at a number; drill to the disclosure that produced it.

And notice which layer each half of the stack lives in — it's the same deterministic-vs-probabilistic split, one level down.

Layer 1 — deterministic (we assemble)

Aggregate

  • Cross-sectional metrics, flow, base rates, SUE, cluster screens
  • A small, correct, cited number — the "what"
  • Point-in-time, survivorship-complete, sanitized
Layer 2 — semantic (LLM drills, we index)

Sentence & vector

  • 91M+ SEC filing sentences (2019–2026) + news + ~1.4M contract clauses + SEDAR — embedded, searchable by meaning, not keyword
  • The exact disclosure language — the "why" — cited to the accession
  • Where the LLM's retrieval & reading is finally the right tool
The drill-down, in two callsFrom a cross-sectional number to the primary source — one workflow
STEP 1 · LAYER 1 (deterministic)
"Which filers rewrote their risk factors most this year?" → a ranked list, computed across every 10-K pair. Filer X, top of the list.
STEP 2 · LAYER 2 (semantic)
"What did X actually add?" → the exact added risk-factor passages, retrieved by meaning and cited to the filing — the language behind the number, ready for your model to reason over.

Layer 2 is also LLM-impossible alone: it can't semantically search 91M sentences it doesn't hold. We give it that surface — so every claim is both quantified (Layer 1) and cited (Layer 2).

"The tools layer: the aggregate gives your model a correct number, then it drills to the exact sentence that produced it, cited to the filing. Deterministic 'what' on top, semantic 'why' underneath — and it can't do either without us."

The four properties that make the assembly trustworthy

01 · POINT-IN-TIME

No lookahead

First-print vs revised preserved; restated rows flagged; calendars key on filing date.

02 · SURVIVORSHIP

Failures counted

Base rates & panels include the delisted, acquired, and zeroed — not just survivors.

03 · SOURCED

No hallucination

Every value cites its filing; sentinels/typos sanitized; NULL = unknown, never invented.

04 · SELF-AUDITING

Says when stale

A data_health block per response lets an auto-consumer refuse to trade a degraded feed.

Signal surfaces you'd consume as features (PIT-validated)

SurfaceWhat it isThe credible number
insider_flow10.2M classified Form-4 legs, 2004–2026, ~10-min fresh. Net discretionary, 10b5-1 stripped, cluster detection.Footnote recovery reclassified 803,890 pre-2023 sells — a whole Flow regime mislabeled elsewhere.
earnings_sueFoster SUE + post-earnings drift, own-history baseline.Q5−Q1 abnormal drift +106bps, t=5.9, monotonic ≥$10M ADV — survives dropping every restated quarter.
sections_changeYoY 10-K/Q language change (Lazy-Prices).Published, replicable forward-return signal — served as per-filer magnitude + cross-sectional rank.
catalyst_calendarDated binary events: PDUFA, earnings, IPO lockups, debt walls, Section 232/301 tariffs — one PIT clock.The first-binary map an event/vol desk exits on; ⚠ health block on every response.
macro_seriesFRED / ALFRED vintages — first-print vs revised.UNRATE Apr-2020 = 14.7 as-known vs 14.8 today.

The delivery model (fits how you build)

An MCP endpoint, not a terminal. Your models, notebooks, and agents call it directly — one auth, structured JSON, a machine-readable changelog feed your systems poll to know the moment a signal changes. No seat, no scraping, no human in the loop.

14 data domains, per-product — take only the surfaces you want, not a bundle to get one signal.

"It's an endpoint your research stack and agents call, and it publishes a feed so your systems know the instant a signal changes — that's the integration, not a login."

Say this before they do — what we're NOT

  • Not low-latency / not market data. Freshness ~10-min (insider) to daily/quarterly — a research & signal layer, not an execution feed.
  • Not crypto, not options greeks / vol surface. US equities, SEC filings, credit (fund-held bond panel), macro, private markets.
  • Coverage is honest, not exhaustive. Where we can't verify, we return NULL — not a guess.
"We'll tell you where the edges are up front — that's the whole point of a data source you can put in a model."

We don't make the model smarter — we do the part it can't do. The deterministic assembly: aggregation, point-in-time, survivorship-complete, sourced. Hand your model that, and it spends its intelligence on judgment instead of hallucinating a number that looks right.

Internal talking-points draft · Kaleidoscope MCP · for the Jump Trading call