Documentation & Getting Started
Last updated: August 15, 2026
Everything you need to go from a fresh install to your first screen and backtest. Quantery is a private, local-first desktop app for serious retail investors — your theses, screens, results, and API keys stay on your own machine.
Quantery is research tooling, not investment advice. Screens, scores, and backtests are informational only and are not a recommendation to buy, sell, or hold any security. Past performance and backtested results do not guarantee future results. Verify against primary filings and make your own decisions.
This documentation will expand over time. We’re adding deeper guides, DSL references, and worked examples in future updates. If something is missing, email [email protected].
- 1. Overview
- 2. Install
- 3. Activate your license
- 4. Connect your data
- 5. Connect AI (optional)
- 6. Connect your AI assistant (MCP)
- 7. Write a thesis
- 8. Screen the market
- 9. Backtest
- 10. Updates & subscription
- 11. Data & privacy
- 12. Troubleshooting / FAQ
- 13. Support
1. Overview
Quantery is a quant research and backtesting workbench that runs entirely on your own machine — macOS, Windows, or Linux. You describe an investment thesis — anything from a simple one-line idea to a complex multi-factor model — screen the whole US equity universe against it, and run point-in-time, survivorship-aware backtests — without metering or usage limits.
Local-first by design. Nothing is proxied to our servers. Your investment theses, screens, backtest results, and the API keys you supply for market data and optional AI are all stored locally on your machine. The app talks directly to the data providers you configure.
2. Install
Quantery is a native desktop application for macOS, Windows, and Linux. The installer is a free download; your license key (from purchase) is what activates the app.
- Grab the build for your platform from the
download page (macOS
.dmg, Windows installer, or Linux AppImage). - Install as you would any desktop app. Current builds are unsigned
while code signing is completed, so macOS and Windows show an extra
first-open confirmation — the
download page has the exact steps. On
Linux, make the AppImage executable first
(
chmod +x Quantery-*.AppImage), then run it. - Purchase a license from the pricing section. Payment is handled by our merchant of record, Lemon Squeezy, who emails your receipt; your license key arrives right after checkout in a separate email from us ([email protected]).
- Open Quantery and proceed to activation (Section 3).
Updates are delivered through your license and the Support & Upgrades subscription (Section 9). Keep the email you purchased with — it’s how your key is recovered if you ever lose it.
3. Activate your license
After purchase you receive a signed license key. Enter it in the app to activate your seat:
- Launch Quantery and open the activation prompt (or Settings → License).
- Paste your license key exactly as issued and confirm.
- The app verifies entitlement and unlocks. Your license key is yours to keep — store it somewhere safe and keep it confidential.
Each license includes a set number of activations (“seats”) for devices you own or control. If you replace a machine or run out of activations, contact [email protected] and we can help you manage your seats. See the Terms of Service for the full license and activation details.
4. Connect your data
Quantery follows a bring-your-own-keys model. You supply API keys for the data providers you want, and the app connects to them directly. Keys are stored locally on your machine and are never sent to us.
- SEC EDGAR — free, primary-source, point-in-time fundamentals straight from company filings. This is the backbone of survivorship-aware, no-look-ahead research.
- Financial Modeling Prep (FMP) — prices, the US equity universe, and market data. Create an account at financialmodelingprep.com to obtain an API key, then paste it into Quantery’s data settings.
- Alpha Vantage — historical options chains going back to 2008, for options-aware research. Get a free key at alphavantage.co and add it in settings.
- Yahoo Finance (unofficial) — an optional, off-by-default free source Quantery can connect to for daily prices, dividends/splits, market caps and sectors — no API key needed. It uses Yahoo’s publicly accessible endpoints via the open-source yahoo-finance2 library, fetched directly by your computer and never redistributed; it is unofficial, so it may change or stop working at any time. Enable it during onboarding or in Settings.
Quantery also ships seeded with a starter dataset — primary-source, point-in-time SEC fundamentals, the US equity universe, and the thesis templates — so you can begin exploring and screening before you wire up every provider. Prices and options history are pulled with your own keys, or — for daily prices, market caps and sectors — from the optional Yahoo Finance (unofficial) free source if you enable it; options history still requires Alpha Vantage (back to 2008). None of that data is part of the shipped seed.
Where are my keys stored? Locally, on your device only. Quantery does not proxy your requests — the app talks to EDGAR, FMP, Alpha Vantage — and Yahoo Finance (unofficial), if you enable it — directly from your device, using the keys you provide where a key is needed.
You can always see exactly what your local data holds for a company. Every company page carries a Data coverage card with a row per dataset (Prices, Fundamentals, Options (IV), Short interest, Float, Analyst snapshots, Corporate actions, Events) showing its date range, row count, and freshness (with sources for prices and fundamentals), plus any missing calendar quarters in the fundamentals and any long gaps in the price history (long lists are capped, with the true totals shown). The wording is deliberately honest: “Last collected” with a date when data exists, “No 10-K or 10-Q data found” with the date checked when EDGAR genuinely has nothing, “Last attempt failed” when a fetch errored, and “Not collected yet” when Quantery simply has not tried. Datasets marked not collected can be fetched from the Data page with the providers you have configured.
Coverage feeds backtests. Backtests include a company only on dates with visible fundamentals and fresh prices, so short or gappy history on the coverage card means that name drops out of parts of a backtest. The card exists so that this is never a surprise.
5. Connect AI (optional)
AI is entirely optional. Quantery is a full quant tool without any AI at all — you can run it quant-only, with no AI provider and no extra keys. If you do want AI assistance, you bring your own:
- Anthropic / Claude — via an Anthropic API key, or your existing Claude subscription through the locally installed Claude CLI.
- OpenAI — GPT models via an OpenAI API key, or your ChatGPT subscription through the locally installed Codex CLI.
- Local models — run fully offline with Ollama, LM Studio, llama.cpp, or vLLM.
- None — skip AI entirely; all screening and backtesting works without it.
As with data providers, any AI keys you enter are stored locally. Choosing a local model keeps everything — data and inference — on your own hardware.
This section covers the AI that scores qualitative criteria inside Quantery. To have an AI assistant drive Quantery itself — building theses from plain language, running screens and backtests for you — see Section 6.
6. Connect your AI assistant (MCP)
Quantery can act as a local MCP server (Model Context Protocol) — so the AI assistant you already use (Claude Code, Claude Desktop, or Codex CLI) can drive the app for you. Describe a thesis in plain language and the assistant builds it, validates it, screens the market with it, and backtests it against your local data. The assistant supplies the language intelligence, running on your own AI subscription or keys; Quantery supplies the deterministic tools and never calls an AI model itself.
The server is off by default. Turn it on in
Settings → Connect your AI assistant (MCP). It listens on
127.0.0.1 only — your machine, never the network
— on a stable port (default 8765; if that port is already in use
the app falls back to a free one, and the Settings card always shows
the real port and fills the snippets below with it). Every connection
must present the access token shown in that Settings card.
Claude Code. One command registers Quantery. The
Settings card shows it ready to copy, filled in with your real port and
token (the --scope user flag makes it available in every
project, which fits an app installed machine-wide):
claude mcp add --transport http --scope user quantery http://127.0.0.1:8765/mcp --header "Authorization: Bearer <your access token>"
Then check the connection with claude mcp list (it should
report Quantery as connected) or type /mcp inside a Claude
Code session. Current reference:
Claude Code
MCP docs.
Claude Desktop. Open the Claude menu, then
Settings… → Developer → Edit Config. That opens
claude_desktop_config.json; add an entry that points at the
bridge shipped inside the installed Quantery app. The Settings card in
Quantery shows this block prefilled with the real paths for your
install, so copy it from there. After you restart Claude Desktop,
Quantery appears under the chat input’s connectors menu.
{
"mcpServers": {
"quantery": {
"command": "<path to the installed Quantery app>",
"args": ["<resources>/mcp-stdio.cjs"],
"env": { "ELECTRON_RUN_AS_NODE": "1" }
}
}
}
Note: do not use claude.ai’s Add custom connector for
Quantery. Custom connectors are contacted from Anthropic’s
servers, so they can never reach a private server on
127.0.0.1. The config file above is the supported path for
a local server.
Codex CLI. Codex reads MCP servers from
~/.codex/config.toml (the codex mcp add
command currently registers stdio servers only, so add an HTTP server
by editing the file). Fill in the real port and token shown in the
Settings card:
[mcp_servers.quantery]
url = "http://127.0.0.1:8765/mcp"
http_headers = { "Authorization" = "Bearer <your access token>" }
Mind the exact shape: the header name is Authorization and
its value starts with Bearer followed by the token.
Splitting it any other way gets a 401 from Quantery. To keep the token
out of the file, use
bearer_token_env_var = "QUANTERY_MCP_TOKEN"
instead of http_headers and export that variable in your
shell profile. Current reference:
Codex
MCP docs.
ChatGPT (web and desktop). ChatGPT contacts MCP
servers from OpenAI’s side, so it cannot reach a local server on
127.0.0.1. Use Codex CLI with your ChatGPT subscription
instead; it covers the same models.
Any other MCP client. Quantery speaks MCP over
streamable HTTP at http://127.0.0.1:8765/mcp and expects
an Authorization: Bearer <your access token> header
on every request. A client that only launches stdio servers can use
the bridged command from the Claude Desktop block above.
Quantery must be running. The MCP server lives inside the app — open Quantery first, then connect your assistant. With any of these methods, no Node.js install is required on your machine.
Once connected, your assistant gets tools to:
- Browse your data — overview, screen survivors, individual tickers, metric series, and data availability.
- Build and validate theses — draft a thesis from your plain-language description, check it against the schema with structured errors, and save or activate it.
- Run screens — scan a few symbols or the whole universe against a thesis.
- Run backtests — the same point-in-time, survivorship-aware backtests as the app, and read the results.
- Audit any result: read the raw point-in-time fundamentals behind a number, with the fiscal period and filing identity of each value; have any survivor explained down to the rules it matched and the filings behind them; and check what data your local store actually holds for a symbol. All read-only.
Security model. The server accepts connections from your own machine only and requires the access token on every request; you can regenerate the token at any time from Settings, which cuts off every previously configured client. Settings, secrets, and API keys are not exposed through MCP. And as everywhere else in Quantery, the AI itself is yours — your assistant, your subscription or keys, talking to a local server. Quantery never proxies AI traffic through our servers.
7. Write a thesis
A thesis is how you tell Quantery what “good” looks like. You describe it in a small, readable spec, and the same screen engine takes anything from a one-line idea to a complex multi-factor thesis. At a high level a thesis brings together a few conceptual parts:
- Universe — which stocks to consider (for example, the US equity universe, optionally filtered).
- Features — the fundamental and price inputs you care about, drawn from point-in-time data.
- Scoring criteria — how those features combine into a score for each name.
- Gate — hard conditions a name must pass to qualify at all.
- Verdict bands — thresholds that map a score into labels such as strong / watch / pass.
# Illustrative only — shows the shape of a thesis, not exact field names.
thesis: deep-value-example
universe: us_equities
gate:
# hard requirements a name must meet to qualify
- positive_book_value
- min_dollar_volume
features:
- price_to_book
- free_cash_flow_yield
- drawdown_from_high
score:
# combine features into a single ranking score
cheaper_is_better: [price_to_book]
higher_is_better: [free_cash_flow_yield]
verdict_bands:
strong: ">= 80"
watch: "60 - 79"
pass: "< 60"
You don’t have to start from scratch. Quantery ships with bundled templates for well-known styles that you can copy and adapt:
- Piotroski F-Score
- Greenblatt Magic Formula
- Graham Net-Net
- Buffett Quality Value
- Earnings Yield + Quality
The example above is illustrative, meant to convey the shape of a thesis. The bundled templates in the app are the authoritative reference for exact field names and options.
8. Screen the market
Once you have a thesis, screen the entire US equity universe against it. Quantery evaluates every eligible name, applies your gate, computes each score, and ranks the results by verdict band so the strongest candidates rise to the top.
Because the underlying fundamentals come from primary-source, point-in-time data, a screen reflects what was actually knowable — a foundation for the deeper backtesting in the next step. From a ranked screen you can drill into an individual name to see why it scored the way it did.
And every number can explain itself. Each feature value in the survivors table opens a panel (the cell tooltip reads Explain this number, or Explain this result for yes/no values), and on a company page every criterion score and the gate result open the same panel. It shows the criterion’s rules with your thresholds filled in, which rule matched, and the inputs behind the value: the fiscal period, the filing date, and the source of each one, with a link to the filing on SEC EDGAR when the specific filing is stored (otherwise the company’s EDGAR filing index, and when neither is stored the row says so; nothing is guessed). When a scan’s recorded value and today’s value differ, both appear, labeled Recorded (run) and Live (today). Values computed from several inputs are labeled as computed rather than pointed at a single document. A Data and filings link on each company page opens the stored fundamentals with the same provenance.
Past scans stay inspectable, too. The Run history card lists your scans of a thesis, and every row is clickable: pick one and the table shows that run’s survivors, with a banner naming the run date you are viewing and a Back to latest button to return to the newest results.
Compare two runs. Once a thesis has two or more recorded runs, a Compare button appears on the Run history card. Pick two runs and a Comparing runs panel shows the diff: Added, Dropped, and Still passing, with each name’s score change and rank movement. The panel is honest about its limits: very large runs are compared on their top 1,000 rows and say so, and a note appears when the two runs used different versions of the thesis, or when a version is unknown for one of the runs. Close returns to the normal view.
Screening during a data pull? Quantery runs data pulls, screens, and backtests one at a time to keep its local database consistent. Start a screen while data is still downloading and it queues rather than failing — the banner at the top of the app shows what’s running, its progress, and your place in line, and offers Run next (jump the queue), a pause for the remaining data jobs, and an optional Notify when done toggle (off by default).
9. Backtest
Backtesting is where a thesis earns its keep. Quantery runs walk-forward, point-in-time, survivorship-aware backtests:
- Point-in-time & no look-ahead — each period uses only the data that was available at that moment, drawn from EDGAR filings.
- Survivorship-aware — from the day daily universe snapshots begin recording, membership is leak-free and delisted names stay in the universe. Earlier reconstructed history is best-effort, and each report’s coverage note says which portion you are seeing.
- Event study + naive portfolio — study how names behaved around qualification, and see how a simple portfolio of your selections would have performed.
- Benchmarked vs SPY or IWM — each run compares against a benchmark you pick, large-cap (SPY) or small-cap (IWM), for context.
- Unlimited — run as many backtests as you like. There is no metering.
Backtested results do not guarantee future results. A backtest describes the past under your assumptions; it is not a promise about the future and is not investment advice.
10. Updates & the Support subscription
Your license is a one-time, perpetual license — the version of Quantery you own keeps working. Ongoing updates are handled by an optional annual Support & Upgrades subscription:
- The first year of updates is free and included with a new license.
- After the first year the subscription renews at US$99/yr (on by default, but you can opt out).
- The subscription gates downloads and updates only — never the app you already own.
- If it lapses, Quantery lapses gracefully: the last version you received keeps running; you simply stop receiving new downloads and updates until you renew.
Full billing, renewal, and cancellation details are in the Terms of Service. Note that all sales are final — there are no refunds.
11. Data & privacy
Quantery is local-first: your theses, screens, backtest results, and API keys live on your own machine and are not proxied to our servers. The app connects directly to the data and AI providers you configure using the keys you supply.
Limited technical information (such as your license key and a device identifier) is exchanged only to verify your license and deliver updates. For the complete picture of what is and isn’t collected, see the Privacy Policy.
12. Troubleshooting / FAQ
Do I need AI to use Quantery?
No. Quantery is a complete quant and backtesting tool without any AI. You can run it quant-only, with no AI provider and no extra keys. AI is an optional add-on you can enable if you want it.
Where are my API keys stored?
Locally, on your own device. Quantery does not proxy your requests or send your keys to us — the app connects directly to SEC EDGAR, FMP, Alpha Vantage, and any AI provider you configure.
What happens if my Support & Upgrades subscription lapses?
The app keeps working. Your license is perpetual, so the last version you received continues to run — you just won’t receive new downloads or updates until you renew. The subscription gates updates only, never the app you own.
Which data sources do I need to get started?
Quantery ships seeded with a starter dataset — point-in-time SEC fundamentals, the US equity universe, and the thesis templates — so you can start exploring immediately. To run all five screens without any paid key, enable the optional Yahoo Finance (unofficial) free source (off by default) — it fills in daily prices, market caps and sectors. For the deepest coverage, add FMP (prices, the US universe, and delisting history) and Alpha Vantage (historical options back to 2008) with your own keys.
Is Quantery investment advice?
No. Quantery is research tooling. Its screens, scores, and backtests are informational only and are not recommendations to buy, sell, or hold any security. You are responsible for verifying against primary filings and for your own decisions.
Why does my screen say “queued” during a data pull?
Quantery keeps its research database consistent by running one writing task at a time — a data pull, a screen, or a backtest, never two at once. Start a screen mid-download and it waits its turn. Since version 1.2.0 the app says so plainly: a banner on every page shows what’s running, its progress, and what’s in line, and you can jump the queue with Run next, pause the remaining data jobs, cancel anything that hasn’t started, or enable a notification for when the queue finishes.
Why do a run’s numbers differ from today’s numbers?
Because the data underneath moved. A scan records the values it saw when it ran; afterwards new filings arrive, prices update, and restatements land, so recomputing the same number today can give a different answer. Quantery keeps both: open the explain panel on any value and, whenever they differ, it shows Recorded (run) and Live (today) side by side. The inputs listed are the ones behind today’s value; the recorded number is shown exactly as the scan stored it. Neither is wrong; they answer different questions (“what did the scan see?” versus “what does the data say now?”).
Can I run everything offline?
Largely, yes. The app and the seeded dataset run locally, and you can use a local AI model (Ollama, LM Studio, llama.cpp, or vLLM) instead of a hosted one. Fetching fresh market data or refreshing filings requires internet access to the providers you configure.
Which operating systems are supported?
macOS, Windows, and Linux. The installer is a free download from the download page; your license key activates the app.
13. Support
Need a hand? Email [email protected] and we’ll help with installation, activation, seats, and billing.
See also the Terms of Service and Privacy Policy. Quantery is a product of Wayland Holdings LLC (Texas, USA).
← Back to home