Quant Data
Measured market statistics for AI agents — day-type probabilities, volume-wave events with measured win rates, options max pain and dealer gamma; remote MCP at https://api.quantdata.uk/mcp, no key needed to try.
Documentation
Quant Data — market-statistics skills for AI agents
Measured market statistics for index futures and equities, packaged so an AI agent can use them and — more importantly — report them honestly. Installs natively into Claude Code (plugin), Codex CLI (plugin marketplace) and Gemini CLI (extension), all from this one repository.
| Skill | What the agent gains | Key needed |
|---|---|---|
quantdata-daily-bias | Day-type probabilities for the current session and the measured verdicts on famous price-action claims | Free email key or paid key |
quantdata-weis-wave | Volume-price wave structure and five Weis events, each with its measured win rate | Free email key or paid key |
quantdata-max-pain | Options max pain, open-interest walls, put/call ratio, estimated dealer gamma exposure | Free email key or paid key; public pages need none |
The honest summary of what you get: measured edges of 52–56%, published together with the places the models fail. There is a section below on exactly that, and it is not buried.
Install
Claude Code
/plugin marketplace add celineycn/quantdata-plugin
/plugin install quantdata@quantdata
Codex CLI
The same repository doubles as a Codex plugin marketplace:
codex plugin marketplace add celineycn/quantdata-plugin
codex plugin add quantdata@quantdata
Any other MCP client (Claude Desktop, ChatGPT, Cursor, VS Code, Zed)
The same four endpoints are a remote MCP server, together with an access tool that can email a free API key. Nothing to install — point the client at:
https://api.quantdata.uk/mcp
Streamable HTTP. With no key, one anonymous market-tool response is available per source per UTC
day as a first look. The agent can then call quantdata_request_free_api_key with an email
address; the free qd_ key is sent only to that inbox, needs no login or card, and gives the
four market tools 10 shared successful calls per UTC day. A stdio bridge ships in
quantdata/mcp/ for clients that can only launch a local command.
Details: quantdata/mcp/README.md.
Gemini CLI
The repository is also a Gemini CLI extension. GEMINI.md carries the three skill bodies
merged into one context file:
gemini extensions install https://github.com/celineycn/quantdata-plugin
Then
Start a new session. You do not invoke a skill by name — just ask:
What kind of day is NVDA having?
Is the pullback in ES=F happening on low volume?
Where is max pain for TSLA this Friday?
Which way is dealer gamma leaning on NVDA?
To check it loaded, ask: "Which Quant Data skills do you have?"
Without the plugin system
A skill is just a folder with a SKILL.md in it, so you can also copy them by hand:
mkdir -p ~/.claude/skills
cp -R quantdata/skills/* ~/.claude/skills/
Or project-scoped, committed alongside your code, in .claude/skills/.
Start free — no login or card
One anonymous API or MCP call can return a complete first-look response per source per UTC day.
For continued evaluation, request a free qd_ key by email:
curl -s -X POST https://api.quantdata.uk/v1/access/free-key \
-H 'Content-Type: application/json' \
-d '{"email":"you@example.com","marketing_opt_in":false,"source":"agent"}'
An MCP-connected agent can call quantdata_request_free_api_key instead. The raw key is never
returned by the POST or MCP result; it is delivered only to the email address. The free key
covers all four endpoints, sharing 10 successful calls per UTC day, and needs no account,
password or card.
marketing_opt_in is optional and defaults to false. It is separate from key delivery. An
agent must set it to true only after the owner of that email address explicitly asks for
occasional product updates. Even then, the request records a pending preference, not an active
subscription. The recipient must reply SUBSCRIBE to the key-delivery email to confirm it; no
marketing updates are sent before that confirmation.
The permanently free surface is the Max Pain and GEX pages. No key, no account, no card:
https://quantdata.uk/max-pain/nvda
https://quantdata.uk/gex/nvda
Max pain (the option strike at which option buyers lose the most in aggregate at expiration),
put/call ratio and open interest by expiration, one page per covered US stock or ETF — and a
separate GEX page per ticker with net gamma exposure and the zero gamma (flip) level. The site
is rebuilt nightly from the latest upstream settlement available, and every page states the
open-interest settlement date it uses. Lowercase tickers.
https://quantdata.uk/max-pain and https://quantdata.uk/gex are the coverage lists.
To check the research before paying for it, read https://quantdata.uk/methodology — an ordinary web page, free, no key. It publishes the fact-check of the trading literature's famous probability claims against 3,946 S&P 500 futures trading days (2010–2026). The claim that one of the session's extremes forms within the first 90 minutes is usually taught as 90%; the measured figure is 81.2%. The pattern holds across every claim tested — directionally right, inflated by roughly 7–10 percentage points.
Start there. If the numbers are not the size you expected from an honest test, do not buy.
The four API endpoints
The free email key covers every endpoint below, with 10 successful calls per UTC day shared
across them. When that daily allowance is reached, the API returns 429 with the reset time and
a checkout action to hand to a person. The paid plan removes the evaluation limit for ongoing,
batch or unattended use.
One plan: $39/month, first 3 days free. Checkout is self-serve at https://quantdata.uk/pricing, and a card is collected up front. Checkout with the same email used for the free key upgrades that key in place, so an agent does not need a new secret. Cancel any time from the Stripe receipt.
| Endpoint | Returns |
|---|---|
GET /v1/brooks/{symbol} | Day-type probabilities over five classes for the session so far |
GET /v1/weis/{symbol} | Volume waves and five named volume-price events with measured win rates |
GET /v1/maxpain/{symbol} | Max pain per expiration, from open interest alone — pure arithmetic, no pricing model |
GET /v1/gamma/{symbol} | Estimated dealer gamma exposure: net GEX, the zero gamma (flip) level, the heaviest strikes |
One key covers all four. The two options endpoints are deliberately separate because the two figures are not equally reliable: max pain is arithmetic anyone can reproduce from the same chain, gamma is a Black-Scholes estimate built on an unobservable dealer-positioning convention. The skills quote the first as a figure and the second as an estimate.
The fact-check verdicts live on https://quantdata.uk/methodology as a static table — a web page to read, free and needing no key, not an endpoint to call.
Keys bought under the older two-product pricing keep working at their original price.
An AI agent can request the free key, but it cannot buy the paid plan for you. Card authentication (3-D Secure) requires the cardholder, so after the free allowance is reached the skills hand the checkout link to a person and stop.
Set your key
Copy the qd_ key from its delivery email into a secret store. Never paste a key into
SKILL.md — those files are meant to be copied, committed and shared.
# ~/.zshrc (macOS default) or ~/.bashrc
export QUANTDATA_API_KEY="qd_your_key_here"
Then open a new terminal, or run source ~/.zshrc. Check it:
curl -s -H "X-API-Key: $QUANTDATA_API_KEY" https://api.quantdata.uk/v1/brooks/SPY
For an agent with no shell, the key goes wherever that tool stores secrets — an Actions
authentication field, a credential entry, a .env loaded by your runtime. Same rule: a secret
store, not a shared file.
Using these on platforms with no plugin system
Nothing here is specific to any one agent. A SKILL.md body is instructions plus an HTTP
contract, so it works anywhere you can set a system prompt and send a request with a custom
header. (Claude Code, Codex and Gemini CLI install natively — see Install above.)
- Open the
SKILL.mdyou want, underquantdata/skills/. - Copy everything below the closing
---of the YAML header. - Paste it into your agent's system prompt, custom instructions or persona field.
- Replace the
$QUANTDATA_API_KEYreferences with whatever your platform calls its secret.
Known to work this way: ChatGPT Custom GPTs (paste into Instructions, and add
api.quantdata.uk as an Action with an X-API-Key header), Cursor and Windsurf rules files,
Cline, GitHub Copilot instructions, n8n and Dify agent nodes, CrewAI and AutoGen
agent backstories, LangChain system messages, and anything built directly on the OpenAI or
Anthropic SDKs.
If your tool can send one HTTP request with one custom header, it is supported. There is no SDK, no OAuth flow and no callback URL.
What every one of these skills enforces
These rules are written into each SKILL.md and they are the reason the plugin exists:
- Never present output as a buy or sell recommendation. The API returns a probability distribution and historical frequencies. It does not know your position, account or risk. Turning "TrendUp 0.34" into "go long" is the agent inventing advice.
- Always carry the disclaimer. Every response has a
disclaimerfield; it travels with the numbers. - Never claim precision the numbers do not have. The honest win rates are 52–56%. An agent that rounds that into "strong signal" has broken the product.
- Name the baseline. 66% top-1 accuracy is meaningless until you also say the majority-class baseline is 37%.
- Flag out-of-distribution use. The day-type model was trained on S&P 500 E-mini futures. A read on a single stock, on gold, or on crypto is descriptive, not validated.
- At a free-key limit, relay
message_for_your_humanand hand checkout to the person. Respectquota_resets_at; never loop, and never substitute a different data source and present the result as Quant Data output.
Where this does not work
Publishing this is the point, not a disclaimer:
- Crypto and gold have a consistent anti-signature. Of eight pre-registered Bitcoin
signals, zero confirmed, and
no_supplyreversed direction outright. - Chart patterns did not survive testing. Over 121,000 pattern detections produced an AUC of 0.54 — near a coin flip.
- The Asian session did not transfer. The pre-registered test of day-type gating on the Asian session returned NO_GO.
Educational analytics and developer tooling. Not investment advice, not a recommendation to buy or sell, not a price forecast. Trading involves risk of loss; past performance does not guarantee future results. Independent research — not affiliated with or endorsed by Al Brooks, David Weis, or any exchange or broker.
Docs: https://quantdata.uk/skills · Questions: quantdata@agentmail.to