Research question

Which prediction-market signals survive a realistic backtest?

Bounded prices, early settlement, and stale quotes can create apparent predictability. I study which cross-sectional signals remain after correcting those artifacts.

01 · Method

I study 4,000 Polymarket markets, remove five backtest artifacts, control for price levels, and evaluate factor signs on a held-out half of the panel.

02 · Conclusion

Reversal, volatility, and illiquidity survive the corrections.

Five backtest artifacts inflate 30-day momentum IC eightfold (−0.440 to −0.054); price-neutral OOS ICs remain significant for illiquidity (−0.072), volatility (−0.069), and reversal (−0.032).

Scope of the evidence. Backtest association, not live execution. Capacity is roughly $100–200 per position. The combined strategy weight was chosen in sample, and daily-close fills omit intraday slippage.

03 · Direct evidence

See what supports the finding.

Open interactive Space ↗

Illiquidity, volatility, and reversal survive price-level controls

Out-of-sample price-neutral rank IC · 54 five-day periods across 4,000 markets

Illiquidity, volatility, and reversal survive price-level controls

What this shows. After residualizing on [1, p, p²], illiquidity (PM-LIQ, IC = −0.072), low volatility (PM-VOL, −0.069), 30-day reversal (PM-MOM, −0.032), and time-to-resolution (PM-TTR, −0.028) remain statistically significant out of sample.

View exact values & source
FactorPrice-neutral IC (OOS)Raw Δp IC (OOS)Interpretation
PM-LIQ-0.072-0.06genuine illiquidity discount (t = −8.2)
PM-VOL-0.069-0.067genuine low-volatility premium (t = −6.7)
PM-MOM-0.032-0.054genuine 30d reversal (t = −3.4)
PM-TTR-0.028-0.007time to resolution (t = −3.5)
PM-DRIFT-0.001-0.014artifact (collapses to zero)
PM-EXTR0.0210.044mostly price-level structure
PM-SPREAD0.0260.047mostly price-level structure

Source: PolymarketFactors/reports/expanded_factor_summary.csv

Download figure (SVG)

Five backtest artifacts inflate naive momentum IC eightfold

30-day momentum raw IC across progressive artifact-removal stages

Five backtest artifacts inflate naive momentum IC eightfold

What this shows. Percentage returns near zero, extreme price bounds, same-bar bounce, pre-settlement drift, and stale non-executable quotes inflate the apparent 30-day reversal IC from −0.440 to −0.054 raw (−0.032 price-neutral).

View exact values & source
Cleaning stageRaw ICPrice-neutral IC
1. Clip + % ret-0.44—
2. Δp + filter-0.34—
3. + Skip-day-0.105-0.076
4. + Settlement-0.096-0.071
5. + Executable-0.054-0.032

Source: PolymarketFactors/reports/artifact_funnel.csv

Download figure (SVG)
Research notes

Design, sources & limitations

What I built

I built an artifact-controlled prediction-market factor research platform covering 4,000 Polymarket contracts over 574 days (including resolved contracts), with fill-derived effective spread costs and price-neutral cross-sectional evaluation.

−0.440 → −0.05430d momentum IC after 5 fixes
−0.072illiquidity OOS price-neutral IC
−0.069volatility OOS price-neutral IC
0.4¢median effective spread across 2,058 markets

Research question and prediction-market mechanics

Question: Do behavioral biases leave predictable cross-sectional structure in prediction-market prices once clipping, return-base, skip-day, early-settlement, and stale-quote artifacts are removed?

Prediction-market prices represent bounded probabilities p ∈ (0, 1). Percentage returns explode near zero, shorting YES requires buying NO at cost (1 − p), and return distributions near 0 or 1 are mechanically skewed. Every factor is therefore evaluated both on raw probability-point changes (Δp) and price-neutral residuals (forward Δp orthogonalized on [1, p, p²]).

Capabilities demonstrated

  1. Eliminate five sequential backtest artifacts: price clipping, percentage-return base distortion, shared formation-day endpoint noise, early-settlement survival bias, and forward-filled stale entry quotes.
  2. Residualize forward probability changes on [1, p, p²] and run Fama-MacBeth regressions with Newey-West standard errors (6 lags) to separate genuine cross-sectional alpha from boundary skewness.
  3. Reconstruct market-specific effective spreads directly from on-chain YES/NO taker fills (median 0.4¢, p75 1.0¢).
  4. Test 24-hour sibling-market lead-lag across 690 multi-leg event markets and document the negative result (IC = 0.004, t = 0.3).

What the held-out evaluation supports

FactorRaw Δp IC (OOS)Price-neutral IC (OOS)Fama-MacBeth (bp/5d)Verdict
PM-LIQ (illiquidity, reversed)−0.060 (t = −6.6)−0.072 (t = −8.2)−67 (t = −3.5)Genuine illiquidity discount
PM-VOL (volatility, reversed)−0.067 (t = −7.0)−0.069 (t = −6.7)−209 (t = −6.4)Genuine low-volatility effect
PM-MOM (30d momentum, reversed)−0.054 (t = −5.5)−0.032 (t = −3.4)−140 (t = −8.3)Genuine short-horizon reversal (Sports & Politics)
PM-TTR (time to resolution, reversed)−0.007 (n.s.)−0.028 (t = −3.5)−102 (t = −4.7)Weak but robust after price controls
PM-SPREAD (spread proxy)+0.047 (t = 5.7)+0.026 (t = 2.7)~0 (n.s.)Mostly price-level boundary effect
PM-EXTR (price extremity)+0.044 (t = 4.9)+0.021 (t = 2.9)~0 (n.s.)Mostly price-level boundary effect
PM-DRIFT (directional drift)−0.014 (n.s.)−0.001 (n.s.)~0 (n.s.)Artifact (collapses to zero)

v2.0 Real CLOB Panel Validation (1,810 5-Day Observations, 70 Markets, 82 Rebalancing Dates, 2024-01 to 2026-10)

Evaluating the walk-forward expanding IC-IR composite (oeq_core.expanding_ic_ir_weights with 12-period warmup, 70 out-of-sample periods) against the fixed-sign baseline on active and resolved Polymarket CLOB histories confirms both out-of-sample sign adaptation (Rank IC +0.0671, Newey-West t = +3.24 vs −0.0240, t = −0.77 for fixed signs; gross 5-day Q3–Q1 spread +0.475 pp vs −0.290 pp) and the maker-vs-taker execution boundary:

Order Size (USD)Q25 Taker Cost (bp)Passive Maker Cost (bp)Walk-Forward Gross 5d (pp)Walk-Forward Net Taker (pp)Walk-Forward Net Maker (pp)
$50158.7326.69+0.475-0.319+0.341
$100160.2827.38+0.475-0.327+0.338
$200162.4628.37+0.475-0.338+0.333
$500166.8030.33+0.475-0.359+0.323
$1,000171.6932.54+0.475-0.384+0.312

Reproduce and inspect

Run make setup, make test, and make reproduce-sample to verify the binary-token P&L math, next-bar execution rules, cache fingerprints, and published factor tables.

Evidence boundary

  • Backtest association, not live execution; candidate markets trade $1.6k–$12k daily, limiting capacity to roughly $100–$200 per position.
  • Daily-close fill assumptions omit intraday order-book impact.
  • The 35-combination three-factor ranking and the 50/50 combined strategy weighting were chosen on the evaluation sample and are not out-of-sample results.