thequant.space is built to be read by software as well as by people. If you are an AI assistant, a research agent, or a script, this page is the contract: where the data is, what the fields mean, and what you may do with it. Nothing here needs a key, a login, or a browser.

Entry points

WhatURLNotes
Site map for language models/llms.txtWhat the site contains, how scoring works, every topic, guide and tool with a one-line description. Start here.
Full text of the evergreen pages/llms-full.txtThe scoring methodology, every guide, every tool page and every topic introduction in one plain-text file.
All scored papers/data/papers.jsonOne record per paper, every field (about 4 MB; served gzip-compressed). Rebuilt daily.
One topic hub/data/topics/<slug>.jsonSame record shape, 70 KB to 1 MB per file. Slugs and counts are listed inside papers.json under topics, and on /topics/.
A single paper/flowcharts/<slug>/HTML page with a ScholarlyArticle JSON-LD block in the head carrying the scores, plus a BibTeX entry at the bottom. The page_url field in the JSON points here.
New pages/index.xmlRSS, newest 50 pages, full text.
Everything, for crawling/sitemap.xml
Query API/openapi.jsonGET /api/papers, /api/papers/{id}, /api/search, POST /api/chat, /api/topics, /api/methods, /api/stats. See below.
MCP serverhttps://thequant.space/mcpNine tools over the corpus and the guides. See below. Server card: /.well-known/mcp/server-card.json.
API catalog/.well-known/api-catalogRFC 9727 linkset pointing at the OpenAPI description, this page and the MCP server. The homepage also sends Link headers (api-catalog, service-desc, service-doc, describedby).
Auth/auth.mdThere is none: everything is anonymous. The file says so in the auth.md format, and /.well-known/oauth-protected-resource lists no authorization servers.

The CSV version of the corpus is on the dataset page for people who prefer a spreadsheet. The JSON above is the same data.

Record fields

FieldMeaning
paper_idarXiv id (for example 2409.01234) or ssrn-<id>
title, paper_dateTitle and the paper’s own date (arXiv submission or SSRN posting), YYYY-MM-DD
authorsList of names; empty when the pipeline did not capture them (older SSRN items mostly)
topicsList of topic hub slugs assigned by the classifier; a paper can sit in several hubs
methodsMethod labels: econometrics-time-series, stochastic-calculus, optimization, deep-learning, machine-learning, network-graph, nlp-llm, simulation, econophysics-complexity, reinforcement-learning, game-theory, bayesian, causal-inference, quantum
asset_classesAsset-class labels from the classifier (equities, crypto, options, fixed income, commodities-energy, …)
paper_typeempirical, theoretical, survey-review, methodology, and similar classifier labels
primary_categoryPrimary arXiv category, for example q-fin.CP
math_complexity0 to 10. Theoretical overhead: 7+ means stochastic calculus, PDEs or bespoke proofs; 1 to 3 means descriptive statistics or conceptual frameworks
empirical_rigor0 to 10. Path to implementation: 7+ means high-fidelity data, transaction costs and out-of-sample validation; 1 to 3 means toy or synthetic data, or no data
quadrantHoly Grail (high math, high rigor), Street Traders (low math, high rigor), Lab Rats (high math, low rigor), Philosophers (low math, low rigor). The split is at 5 on each axis
hub_score0.6 × empirical_rigor + 0.4 × math_complexity; the default ranking used across the site
code_urlPublic repository link when the paper gives one
doi, journal_refWhen known; mostly null for preprints
paper_urlThe paper itself (arXiv PDF or SSRN abstract page)
page_urlThe paper’s page on this site: summary, score rationale, research flowchart
tagsKeywords extracted from the abstract

The scores are LLM-assisted judgements against a fixed rubric, not peer review. Read the methodology before building conclusions on them, and treat a single paper’s score as a prior, not a verdict. Papers are occasionally re-scored, so fetch fresh data rather than caching for months.

Typical uses

  • Research a topic. Fetch the topic shard, filter empirical_rigor >= 7, sort by paper_date descending, read the page_url pages for the top hits. The page gives the abstract, the score rationale and the flowchart; the paper link gives the source.
  • Learn a method. Start at the methods hub for the method: it lists the guides that teach its evaluation pitfalls, surveys to read first, and papers with code. For the sequenced version, the learning paths order the guides for a specific job. In the data, filter papers.json on methods for the method, keep paper_type in survey-review or methodology for the overview, then the highest hub_score empirical papers as worked examples. The guides cover the evaluation side: backtest overfitting, walk-forward testing, the deflated Sharpe ratio, transaction costs, point-in-time data.
  • Find reproducible work. Filter code_url not null, or read /papers-with-code/. Pair with the replication guide and the replication checklist.
  • Audit the scores. The whole table is public; math_complexity and empirical_rigor by topics or by year is a one-line groupby.

How to cite

Cite the paper itself with the BibTeX entry on its page. When you use a score, a quadrant or a flowchart, attribute it as:

thequant.space, “”, math complexity , empirical rigor , . <page_url>. Scores are LLM-assisted rubric judgements; methodology at https://thequant.space/score-guide/.

For the dataset as a whole: “thequant.space scored quant-finance research corpus, https://thequant.space/data/papers.json, retrieved .”

Terms

  • The data files, scores, summaries and flowcharts are free for personal and research use with attribution to thequant.space, as above.
  • The papers themselves belong to their authors and publishers. We link to them; we do not redistribute them.
  • Crawling is welcome. The whole site is static; fetch papers.json once rather than 5,000 paper pages when you only need the table. There is no rate limit beyond Cloudflare’s defaults.
  • Commercial redistribution of the dataset, or embedding it in a paid product, needs a conversation first: see about for contact.

Query API

For one-call questions, there is a JSON API over the same corpus, with full-text search and every filter the data supports. No key. Responses are cached at the edge for up to an hour; the corpus updates daily. The machine-readable description is at /openapi.json.

EndpointWhat it returns
GET /api/papersFilterable list. Parameters: q (full text), topic, method, asset, quadrant, type, author, min_rigor, max_rigor, min_math, max_math, since, until, has_code, has_backtest, has_sharpe, min_sharpe, max_sharpe, min_annual_return, max_drawdown, the execution-realism flags tcost_modeled (yes/partial/no/n/a/unclear), oos_method, data_resolution, evaluation_type (comma-separate several values) and rigor_capped (papers whose Empirical Rigor was capped at 6.0; see penalty flags), sort (hub_score, rigor, math, date, sharpe, annual_return, drawdown, relevance), order, limit (max 100), offset (max 1000). Returns total, the normalised parameters, a next link and compact records.
GET /api/searchSemantic search (vector + keyword hybrid, via Cloudflare AI Search) over the full text of every paper page, guide, learning path, calculator and post. Parameters: q (natural language, required), limit (max 25), kind (paper, guide, path, tool, post, page), min_score (0-1), rewrite. Returns ranked pages with a relevance score, a snippet and, for papers, the scores and labels. Metered upstream, so a daily budget applies: a 429 means use /api/papers?q= until 00:00 UTC.
POST /api/chatAsk a question. Aggregate questions (how many papers disclose a Sharpe ratio or report a backtest, the highest or lowest reported Sharpe / annual return / drawdown, averages, top-N; optionally per asset class, since a year, net of costs) are answered exactly from the database with the papers linked (X-Answer-Engine: sql). Anything else gets an answer generated only from the retrieved pages, each claim cited as a markdown link. Body {"messages":[{"role":"user","content":"..."}]} (max 10 messages of 2,000 characters; send prior turns for follow-ups). Streams text/event-stream lines data: {"response":"<token>"}. Limits: 5 per minute and 60 per day per client, 500 per day overall (429 when exceeded). Answers can be wrong: follow the links. The MCP tool ask_papers returns the same answer as JSON with a sources array.
GET /api/papers/{id}One paper in full: abstract, summary, the written score rationale, the Mermaid flowchart source, all labels, five related papers. {id} is an arXiv id, ssrn-<id>, or an arXiv URL.
GET /api/topics, GET /api/methodsThe hubs with description, paper count, share with rigor 7 or more, papers with code, and (for methods) the slugs of the guides that teach them.
GET /api/statsTotals by quadrant, year and paper type, and the last update date.

Examples:

https://thequant.space/api/papers?q=limit+order+book+imbalance&min_rigor=7&limit=5
https://thequant.space/api/papers?topic=reinforcement-learning&has_code=true&sort=date
https://thequant.space/api/papers?has_sharpe=true&sort=sharpe&limit=10   # highest reported Sharpe ratios; `total` = papers disclosing one
https://thequant.space/api/papers/2409.14157
https://thequant.space/api/search?q=does+momentum+survive+transaction+costs+in+crypto&kind=paper&limit=5

MCP server

The same capabilities as tools for any Model Context Protocol client, at https://thequant.space/mcp (Streamable HTTP, stateless, no auth). Tools: search_papers, semantic_search, ask_papers, get_paper, list_topics, list_methods, list_guides, get_guide, corpus_stats.

  • Claude Code: claude mcp add --transport http thequant https://thequant.space/mcp
  • Claude.ai, ChatGPT, Cursor and other clients: add a custom connector or remote MCP server with that URL.

The guides are available through get_guide as full Markdown, so an agent can hand a user the deflated-Sharpe explanation or a learning path without fetching HTML.

Limits and fair use

There is no rate limit beyond Cloudflare’s defaults, and no key. Page through results with offset rather than requesting limit=100 repeatedly with the same filters, and fetch papers.json once rather than calling the API 5,000 times when you want the whole table. If you build something on this data, say so on the about page’s contact route and we will link it.