StatArb MCP: Pairs Trading Statistics for AI Research
PairSync Research Team · Published 2026-11-04 · 6 min
What a derived-statistics MCP server adds that raw prices cannot
PairSync Research — November 2026
Give an AI a price feed and ask it for cointegrated pairs. It will produce an answer — a different one each time you ask. The estimation window shifts, the parameterization drifts, and there is no record of what was computed, when, or from what. That is improvisation, not research.
A statistical arbitrage (StatArb) MCP server exists to fix exactly that. This article explains what raw prices lack, which cointegration statistics a pairs trading MCP server supplies, how freshness and limitations work, and what a read-only research workflow looks like in practice.
What Raw Prices Lack
Model Context Protocol (MCP) is the open standard that lets compatible AI clients call external tools. Most financial MCP servers supply layer-one material: quotes, candles, filings, news. Useful — but for pairs trading research, prices alone leave the AI to do the statistics itself, and that fails in four specific ways:
- No cross-sectional universe. Finding candidate pairs means testing relationships across an entire market after close, under consistent filters. A chat session recomputing from a price endpoint cannot hold that universe, so it samples — and sampled rankings are not rankings.
- No frozen parameters. Re-estimating spread mean, volatility, and hedge ratio on every question means the numbers move under you. Research needs parameters that were locked at a known fit time.
- No calibration record. Without a record of what the solver produced — and a way to recompute and verify it — the AI's figures cannot be checked against anything.
- No shared fact base. Two people (or two sessions) asking the same question get different improvised answers. A dated refit means "last night's output" is the same object for everyone.
What a StatArb MCP Server Supplies
PairSync's pairs trading MCP server publishes derived statistics, not prices. Each night after each market's close, the engine rebuilds its candidate universe, applies hard statistical filters — Engle-Granger cointegration, Hurst exponent, half-life bounds, a completed backtest — and ranks the survivors on a seven-factor statistical composite. Parameters freeze at fit time.
For every ranked pair, the statistics an AI client can read include:
- Locked spread parameters — spread mean, spread volatility, and portfolio beta (which determines the unit ratio), frozen at fit.
- Threshold set — entry, exit, and stop z-values from the completed backtest.
- Diagnostics — half-life in days, Hurst exponent, and the composite pair score.
- State and calibration — the backtest-tracked spread state, the z-score at fit time, and a content hash that pins the exact night's solve.
A concrete example from published refit output: the 2026-11-02 CRYPTO refit (content hash sha256:cefb22f7…) ranked WLFI-PERP / XPL-PERP first, with locked portfolio_beta 0.725, spread_mean −0.00767, spread_vol 0.00690, entry_z 2.30, exit_z 2.08, stop_z 4, half_life_days 14.98, Hurst 0.249, and z_at_fit 0.847. The calibration record lets you recompute the z-score from your own prices on the fitted_at close and expect ≈ 0.847 (±0.15). If your recomputation matches, you have verified the statistics before using them.
Where the solver did not solve, fields are null. Absences are honest; nothing is interpolated to look complete.
How Freshness and Limitations Work
The cadence is nightly, per market. Six refit datasets — US equities, US ETFs, EU, India, Australia, and crypto — are rebuilt after their respective closes, and every result carries its refit date and content hash. Ask the same question against the same refit date and you get the same numbers; that is what makes a research conversation reproducible.
The limitations are part of the design:
- Not an intraday feed. The server publishes last night's derived statistics, not live quotes. Price display and execution live elsewhere, on your side.
- Historical, in-sample calibration. Every figure is refit output from historical data. Past calibration does not predict future outcomes, and a high composite score is a statistical ranking, not a forecast.
- Relationships decay. Cointegration is a property of a sample period. The nightly refit is the response to decay — parameters are re-estimated and re-ranked every night — but no refit makes a relationship permanent.
A Read-Only MCP Workflow
A typical research session, end to end:
- Connect a compatible AI client to the hosted server — setup lives at pair-sync.com/ai, and the step-by-step guide with five worked examples is in Connect Your AI to PairSync.
- Ask for the leaders in a market from last night's refit. The AI cites the ranked table with its refit date and hash.
- Open a pair card and walk the locked parameters, diagnostics, and backtest-tracked state.
- Freeze a recipe. The locked parameters and fit pin are returned to you and live on your side — agent memory, a local file, notes. The server keeps nothing.
- Verify and re-check. Run the calibration self-check against your own prices, then compare the frozen recipe against a later refit and note any drift.
Every step is read-only. The server has no order path, no custody, and no execution; it supplies statistics an AI can cite, and everything downstream of the statistics stays with you. Developers who prefer REST over MCP get the same derived statistics through the API reference, and the connector's plugin source is public at github.com/pairsync/cursor-plugin.
Where to Start
If you want the category in one sentence: a StatArb MCP server turns raw prices into ranked, dated, verifiable pairs trading statistics that compatible AI clients can cite instead of improvise. Connection details, FAQ, and the free allowance are at pair-sync.com/ai.
Statistical research only, not investment advice. General information. Does not consider your objectives, financial situation or needs. All figures are historical refit output; past calibration does not predict future outcomes.