1. Information Aggregation & Arrow-Debreu Securities
In a competitive prediction market, a binary event contract E pays $1.00 if condition E resolves affirmatively and $0.00 otherwise. Under risk-neutral pricing assumptions, the equilibrium market clearing price P_t(E) represents the marginal trader consensus expectation of event occurrence conditional on information filtration F_t.
Earlier studies (Wolfers & Zitzewitz 2004; Berg et al. 2008) found that prediction market prices were often at least as accurate as polls and expert forecasts. This study does not assume calibration: it tests it on recent Polymarket data.
2. Scoring Rules & Murphy’s Brier Decomposition
For N binary markets with Yes price f_i in [0, 1] and outcome o_i in {0, 1}, the mean Brier score is BS = (1/N) sum((f_i - o_i)^2). For the decomposition the markets are grouped into 10 fixed price bands of width 0.1 (0–10¢, 10–20¢ and so on), so the bands hold very different numbers of markets.
Murphy’s decomposition splits the binned Brier score into three parts: BS ≈ Reliability − Resolution + Uncertainty (approximately, because prices within a band are not identical). Uncertainty UNC = o_bar * (1 - o_bar) depends only on how often Yes resolved. Reliability REL = sum(N_k * (f_k - o_k)^2) / N measures the calibration error. Resolution RES = sum(N_k * (o_k - o_bar)^2) / N measures how well prices separate markets that resolve Yes from those that resolve No.
Table 1: Calibration by price band, Yes price 24 hours before close (3,236 markets; returns use only prices above 0.5¢)
| Price band | Markets | Mean price | Resolved Yes | Outcome − price, pp | Buy Yes return (95% CI) |
|---|---|---|---|---|---|
| 0–10¢ | 2,433 | 0.86% | 0.37% | −0.49 | −67.3% (−92.0…−42.6) |
| 10–20¢ | 106 | 14.32% | 11.32% | −3.00 | −24.2% (−65.1…+16.7) |
| 20–30¢ | 73 | 25.48% | 21.92% | −3.56 | −18.6% (−54.0…+16.9) |
| 30–40¢ | 39 | 34.15% | 23.08% | −11.07 | −29.8% (−70.1…+10.5) |
| 40–50¢ | 36 | 44.50% | 44.44% | −0.06 | −0.8% (−37.1…+35.5) |
| 50–60¢ | 41 | 55.22% | 73.17% | +17.95 | +32.4% (+7.7…+57.1) |
| 60–70¢ | 36 | 65.42% | 86.11% | +20.69 | +32.3% (+14.9…+49.8) |
| 70–80¢ | 59 | 75.11% | 86.44% | +11.33 | +14.8% (+3.1…+26.4) |
| 80–90¢ | 66 | 85.06% | 86.36% | +1.30 | +1.5% (−8.3…+11.3) |
| 90–100¢ | 347 | 98.01% | 98.56% | +0.55 | +0.6% (−0.7…+1.9) |
3. Dataset and Results
The dataset covers 3,236 resolved Yes/No markets with lifetime volume of at least $50,000 and an hourly price 24 hours before close. They closed between 13 March 2023 and 5 October 2026 and were collected from the public Polymarket Gamma and CLOB APIs on 15 October 2026. Yes resolved in 17.71% of markets, which gives an uncertainty of 0.1457. Multi-outcome events (for example, one market per candidate) account for 2,208 of these markets, so their outcomes are not independent.
Using the Yes price 24 hours before close, the Brier score is 0.0259 with reliability 0.0013 and resolution 0.1210. Seven days before close (3,104 markets with price data) it rises to 0.0435, with reliability 0.0015 and resolution 0.0995. The low Brier score mostly reflects that a day before close 2,780 of 3,236 markets (86%) already traded below 10¢ or at 90¢ or more; it does not mean these markets were easy to beat. Without multi-outcome events (1,028 markets), the 24-hour Brier score is 0.0397 and reliability is 0.0052.
4. Where Prices Deviated: Longshots and Mid-Range Favourites
In the lowest band (price below 10¢, 2,433 markets) the mean Yes price was 0.86% while Yes resolved in 0.37% of markets. Buying Yes at those prices returned −67.3% (95% interval −92.0% to −42.6%) and buying No returned +0.51% (0.26% to 0.77%), both before fees. The Yes return is measured on the 669 markets priced above 0.5¢ because the script skips cheaper ones; only 8 of them resolved Yes. About three quarters of the band comes from multi-outcome events (1,792 of 2,433 markets, 461 of the 669). On the 641 standalone markets (208 of them priced above 0.5¢) the Yes return was −28.1% with an interval from −97.0% to +40.8%, which does not exclude zero.
Between 50¢ and 80¢ the opposite happened: Yes resolved in 73.2%, 86.1% and 86.4% of markets priced at a mean of 55.2%, 65.4% and 75.1%. Buying Yes in these three bands returned +32.4% (7.7% to 57.1%), +32.3% (14.9% to 49.8%) and +14.8% (3.1% to 26.4%) before fees, and the sign holds on standalone markets. Each band holds only 36 to 59 markets, so the size of the effect is uncertain. At 90¢ or more (347 markets) price and outcome rate were close: 98.0% against 98.6%. Together this is consistent with a favourite-longshot bias, but it describes a past sample, not a guaranteed trading edge.
5. How Fees Change the Edge
The returns above exclude fees. If a venue charges a fee c on profit, a Yes share bought at price x earns a net profit of (1 − x)(1 − c) if Yes wins and loses x if No wins. The break-even probability moves from x to p_be = x / [x + (1 − x)(1 − c)]. For a trader whose own probability estimate is p, with q = 1 − p, the Kelly fraction is f* = (b·p − q) / b, where b = (1 − x)(1 − c) / x are the net odds.
Example: a trader estimates p = 65% for a contract priced at 60¢. Without fees the full-Kelly fraction is 12.5%; with a 2% fee on profit it is 11.4%, and with a 10% fee it is 6.7%. The break-even probability moves from 60.0% to 60.5% and 62.5%. Fee schedules differ by venue and change over time, so check the venue’s current fee page before trading.
6. Reproducibility
The dataset (polymarket-resolved-markets-2023-2026.csv), the analysis script (polymarket_calibration_analysis.py), its output (polymarket_calibration_results.json) and a README with the columns and selection rules are published in /papers/. Running the script reproduces the scores and tables on this page; the counts of markets priced above 0.5¢ (669 and 208) are taken from the CSV directly, and the fee example in section 5 is separate arithmetic. An earlier version of this page relied on a synthetic dataset; it was not real data and is no longer used.
