Data · Research · Models

A research & data layer for prediction-market microstructure.

Self-recorded market-microstructure tick data, the pricing and calibration research built on it, and the systematic models it informed — packaged for institutional research use.

LAB Work in progress Public market data only

Independent research service. Not affiliated with, endorsed by, or operated by Polymarket. Datasets contain public market data only.

01 · Research

Theory & calibration

LAB Abstracts — full papers in progress

Four working papers derived from self-recorded tick archives. Abstracts are free; full methods and reproduction code are part of the data tier. All figures are research findings, not a promise of future results.

Paper 01 · Calibration

In-Play Conditional Win-Rate Threshold Calibration for Tennis Favorites

Using 650+ self-recorded match tick sessions on prediction-market moneyline books, we test whether the mid-price of the favorite crossing a conditional threshold predicts eventual match victory. Across three trigger levels the realized conditional win rate is systematically higher than the threshold itself — evidence of a favorite–longshot bias on these books. Wilson 95% lower bounds clear the break-even line at every level tested. On a held-out slice the realized conditional win rate (82.5%) tracked the calibrated prediction (82.6%) to within 0.1pp. A “set-already-won” gate raises point estimates further but sharply cuts sample size; the decisive evidence remains the large-sample ungated estimate.

Key results
  • Conditional win rate 82.6% / 87.1% / 90.4% at the three ascending trigger levels (N=229–235)
  • Wilson 95% lower bounds 77.2% / 82.2% / 85.9% — all above break-even
  • Out-of-sample realized 82.5% vs predicted 82.6% (0.1pp)
  • Lowest trigger is the fragile state: favorites that touch it and fall back win only ~17%

Sample: ATP / WTA / ITF · Bo3-dominant · single 8-day window — not extrapolated to majors / Bo5.

Paper 02 · Pricing

In-Play Fair Value under a Time-Varying-Intensity Poisson Model

We price in-play over/under outcomes from a Poisson scoring process whose event intensity rises with match time (Dixon & Robinson, 1998), ρ(t) ∝ 1 + α·t/M, with M and α fit by reverse-solving recorded market prices across 19 recorded matches. Fair value is the Poisson CDF of remaining events needed; a post-event fair is obtained by advancing the count (events consume the counter, not future intensity — a memoryless correction) and applying an empirically layered safety cap. The earlier constant-decay intensity under-counted late-match remaining events by 37–61%, systematically over-pricing the defensive side; the corrected model is near-unbiased against realized settlement.

Key results
  • Time-varying intensity fit: M = 97.5, α = 0.55 from recorded books
  • Event-consumption median ≈ 0.18 across three horizons (was mis-set at 1.0)
  • Post-event settled price median ≈ 47% of pre-event — cap layered by horizon
  • Corrected anchor bias vs realized settlement: median +0.004 (near-zero)

Source: 19 recorded soccer over/under books · 38 scoring events · book-level backtest.

Paper 03 · Methodology

Monte-Carlo Return & Drawdown Methodology for Thin-Edge Strategies

A reproducible framework for turning per-event outcome distributions into monthly return and drawdown estimates. Each selected event is decomposed into mutually-exclusive outcome buckets whose probabilities and magnitudes are back-solved from calibration and pilot data (each figure sourced, none guessed). We simulate 150,000 paths × 90 days (≥13.5M simulated days, two independent seeds cross-validated), reporting peak-to-trough maximum drawdown percentiles, kill-line crossing probability under two definitions, consecutive-loss runs, and Kelly sizing. The method makes explicit that a high monthly expectation and an extreme drawdown percentile are two faces of the same small-account / large-stake signature.

Key results
  • Method: unit-economics buckets → 150k×90d MC → drawdown / kill / Kelly
  • Two-seed cross-validation agrees to <1% on central expectation and P99 drawdown
  • Sign of expectation is dominated by two inputs: win rate (±2pp) and build-completion rate
  • Sensitivity tables expose where a “positive” edge flips negative

All monetary outputs are illustrative, on a stated illustrative bankroll — theoretical, not account results.

Paper 04 · Microstructure

Adverse Selection in Passive Two-Sided Quoting on Binary Markets

When a maker passively quotes both outcomes of a binary prediction market to assemble a below-$1 pair, which leg fills first is not random. Across 38 recorded baseball moneyline books we measure the settlement outcome of the first-filled leg and find it wins only 40–45% of the time — the counterparty systematically hands you the leg about to lose. Single-leg fills settle strongly negative while both-legs-filled cases settle slightly positive, so the residual directional exposure of an un-paired leg, not the pairing spread, dominates P&L. The finding is robust across four assembly-window lengths. Deeper laddered quoting worsens completion without improving expectation.

Key results
  • First-filled leg wins only 40–45% (< 50%) — robust across all windows
  • Single-leg fills settle −0.08 to −0.48 per unit; paired fills ≈ +0.02
  • Deeper 3-rung laddering cut full-pair completion by 37–45pp with no EV gain
  • Full-fill completion under a conservative maker fill model: ~40% in a 30-min window

Sample: 38 recorded books (< the 100-match pre-registered bar) — directional evidence, not a green light.

02 · Datasets

Tick & order-book archives

LAB Packaging in progress

Normalized JSONL from the Polymarket WebSocket market channel — public book & trade data only; no proprietary orders, fills or ledgers are ever included. The catalogue below is the API-ready structure (registry.json + manifest.json per record). Data is held on secure storage and is not published to this server; samples and full datasets are delivered on request to the data tier.

Counts as of 2026-07-22 (packaging complete). Tennis keeps recording (~40 sessions/day), so its figures grow. Samples & full datasets are delivered on request, not hosted here.
Dataset Sport Depth Records Sessions Size (zst) Date range Delivery Status

Canonical record schema v1 — shared by every tick dataset (API-ready)

ev Fields Notes
session v, ts, ev, slug, sport, tier, depth_levels, markets:[{mkt, outcomes:[{tok,name}]}], source First line of every file. mkt like ML / SET1 / OU9.5. source = "pm-ws-market".
book v, ts, ev, tok, mkt, out, bids:[[px,sz]…], asks:[[px,sz]…] Depth snapshot. Prices / sizes preserved as original string values; v1 depth = the 3 levels recorded.
trade v, ts, ev, tok, mkt, out, px, sz, taker_side Mapped from the raw last-trade event.
delta v:2, ts, ev, tok, changes:[[side,px,sz]…] v2 full-depth L2 dataset only (see pm-l2-orderbook). Incremental price-change events.

ts = epoch milliseconds (integer). Canonical mapping: t→ts (×1000), aid→tok, line→mkt, side→out. Unknown / corrupt lines are counted in manifest.json.errors, never silently dropped. The same registry.json + manifest.json back the website, the download gateway and the future REST API — one structure, three surfaces.

03 · Models

Systematic models

LAB In refinement

Method write-ups for three retired / piloted systematic models, each with a theoretical expected-return and drawdown table. Every figure is theoretical or illustrative and, where relevant, small-sample. The tennis model’s live pilot was net negative — we publish that plainly. These are research artifacts, not investment advice or performance promises.

Conditional-Threshold In-Play Follow-On Model

Theoretical n≈246 live · net negative

Tennis. Assemble a below-$1 two-outcome pair, then progressively sell the trailing leg as the favorite’s price crosses ascending conditional thresholds; hold the winning leg to settlement. Positive expectation is theoretical and conditional on execution fixes (pair-completion, stuck single legs) that are not yet validated live.

Monthly (illustrative $1.5k bankroll)
Expected E[month]+$618
Monthly σ$456
30-day max drawdown P50/P90/P99$281 / $528 / $847
Break-even win rate≈ 0.845
Single-match EV decomposition (illustrative $120 stake)
Follow-on · favorite wins · p 0.783+$18
Follow-on · favorite loses · p 0.117−$85
Pair incomplete · p 0.10−$10
Net EV / match+$3.24
Theoretical Illustrative bankroll Live pilot net negative Refinement stage

Live pilot (n≈246 recorded matches) net P&L was negative; a realistic-execution backtest gives −$5.93/match, driven entirely by failed pair assembly rather than the signal. Calibrated conditional win rate 0.871 (Wilson [0.822, 0.908]); expectation flips negative near the lower bound. Theoretical only — not a promise of results.

In-Play Over/Under Ladder-Merge Liquidity Model

Theoretical n=19 matches · archived

Soccer. Provide two-sided passive liquidity around a self-computed in-play fair (Paper 02) during post-event price overshoots; redeem matched pairs to $1 for a locked spread, holding un-paired inventory as convex tail exposure. Retired subsystem; figures are book-level backtest only.

Book-level backtest (per goal window)
Edge per share+4.6 to +5.6c
Pair (merge) completion≈ 85%
In-sample blow-ups0
Gross / match (illustrative $3 unit)≈ +$1.5 to +$2
Notes
Independent MC modeln/a
Return mechanismtwo-sided build + redeem
“Rebound” narrativenot supported
Sample19 matches / 38 events
Theoretical Small sample (n=19) Not MC-modeled Archived / retired

Edge is real but the mechanism is liquidity provision plus redemption — there is no measurable post-event price rebound (settled−trough median 0.01). One execution incident cost several times a good match’s gross; the algebra of a thin edge times an incident rate is why this stayed small and was retired. Illustrative unit sizing only — not account results.

Monte-Carlo Portfolio Risk Engine

Theoretical Methodology tool

Portfolio simulator behind Paper 03: back-solved unit-economics buckets driven through 150k×90d Monte-Carlo to size risk and stress the tail. Outputs below combine the tennis and baseball pilots on an illustrative bankroll; they swing sign on the win-rate and pair-completion inputs.

Combined portfolio (illustrative $1.5k bankroll)
Expected E[month]+$551
Monthly σ$490
Daily E / σ+$18.3 / $90
30-day max drawdown P50/P90/P99$318 / $602 / $960
90-day drawdown P99$1,341
Risk / sensitivity
P(30-day peak-to-trough ≥ $300)≈ 55%
Win rate ±2pp → monthly E+$196 ↔ +$901
Pair completion 0.43↔0.90 → E−$764 ↔ +$548
Paths / horizon150k × 90d
Theoretical Illustrative bankroll Sign-sensitive to inputs

A high monthly expectation and an extreme drawdown percentile are the same small-account / large-stake signature: monthly σ (≈31% of the illustrative bankroll) exceeds the $300 kill line, so most simulated months touch it. Expectation is positive at the central estimate but crosses zero within the sample’s win-rate confidence interval. Theoretical — not a promise of results.

Data tier · Institutional
from $499/mo

Early-access waitlist

Full tick & order-book archives, complete research papers with reproduction code, and priority access to the full-depth L2 set. Onboarding is manual during early access — request a slot and we’ll open a private ticket.

  • All tick datasets (tennis / MLB / soccer), full history
  • Full research papers + reproduction notes
  • registry.json + manifest.json (API-ready structure)
  • Priority queue for the L2 full-depth order-book set

Early access · limited slots · open a 🎁 ticket in Discord #support. Pricing indicative and subject to change.