HKU Capstone Project · 2025–2026

A Multi-Framework Analysis of Information Efficiency & Trading Signals in Decentralized Prediction Markets

Can crowd-sourced prediction markets like Polymarket serve as a reliable, real-time alternative to traditional forecasting benchmarks? We put that question to the test — using Polymarket & Kalshi as case studies.

01 · Introduction

What are prediction markets — and why do they matter?

Prediction markets are decentralised platforms where participants trade binary contracts on future events, backing their beliefs with real capital. A contract price in the range [0, 1] can be read directly as the market's consensus probability of an outcome.

These markets have expanded far beyond politics and sports into macroeconomic forecasting (Fed decisions, unemployment, inflation) and corporate events (earnings, IPOs). This raises a compelling question:

Can crowd-sourced prediction markets serve as a reliable alternative to traditional macroeconomic forecasting benchmarks?

To answer it, this project combines data collection, cloud database design, monitoring, and quantitative analysis to evaluate market efficiency and trading signals in a structured, reproducible way.

In Scope

  • Polymarket (+ Kalshi for cross-market) data collection
  • PostgreSQL cloud storage
  • Calibration / information-incorporation / consistency measures
  • Category comparison across market types
  • Simulated strategy & arbitrage evaluation

Out of Scope

  • Real-capital live trading
  • Full cross-platform coverage of every venue
  • Institutional low-latency optimisation
02 · Research Questions

Five questions guiding the analysis

01

To what extent are Polymarket prices well calibrated with eventual event outcomes?

02

How rapidly do Polymarket prices respond to relevant public information?

03

Are there observable pricing inconsistencies within Polymarket or across platforms such as Kalshi?

04

Do efficiency properties differ across categories (politics, sports, finance/macro, corporate)?

05

Can these observations support useful predictive or simulated trading strategies?

Three dimensions of "efficiency"

Forecast Calibration Responsiveness Internal Consistency
03 · Data & Infrastructure

A cloud-native pipeline built for scale

0 Minute-level records
0 Hourly observations
0 Resolved earnings markets
0 Resolved macro events

Cloud-native database

A PostgreSQL instance deployed on the cloud (Onidel) continuously ingests from Polymarket's Gamma API and CLOB API, alongside Kalshi data captured in a dedicated kalshi_trades store.

Four-level data hierarchy

Data follows a clean containment model: Series → Event → Market → Price history (per outcome token). Each market has two CLOB tokens (Yes / No); the Yes price ≈ the implied probability.

Polymarket data model diagram: Series to Event to Market to Price history
Polymarket data model: Series → Event → Market → Price history.

Data dictionary (condensed)

Top-level grouping of related events (recurring themes, leagues, election cycles).

ColumnTypeDescription
tickerstring · PKSeries identifier (primary key).
titlestringHuman-readable series name.
categorystringDomain: macro, corporate, politics, sports.
recurrencestringRecurrence pattern (e.g. weekly, monthly).
tagsarrayTopic tags for discovery / filtering.

One real-world question/window under a series (e.g. a scheduled data release).

ColumnTypeDescription
event_tickerstring · PKEvent identifier (primary key).
series_tickerstringLink to parent series.ticker.
titlestringEvent description / display title.

Binary outcome contract defined by a verifiable statement; resolves Yes / No.

ColumnTypeDescription
market_tickerstring · PKMarket identifier (primary key).
event_tickerstringLink to parent event.event_ticker.
created_timedatetimeWhen the market was created.
open_timedatetimeTrading open time.
close_timedatetimeTrading close time.
end_timedatetimeResolution / settlement time.

Time series of traded prices per market. Yes price ≈ implied probability.

ColumnTypeDescription
market_tickerstring · PKLink to market.market_ticker (primary key).
timenumber · PKObservation timestamp (primary key).
pricefloatRecorded price in [0, 1].
04 · Methodology

From raw prices to rigorous metrics

Forecast construction

Discrete binary bins are converted into a single implied value through probability-weighting:

Implied = Σ(Yes prob × threshold) / Σ(Yes prob)

Evaluation metrics

Accuracy measured with MAE and RMSE across horizons (30d, 14d, 7d, 1d), and Brier score for calibration (0 = perfect, 0.25 = random-at-0.5).

MAE = (1/n) Σ |fᵢ − aᵢ| · RMSE = √[(1/n) Σ (fᵢ − aᵢ)²]
Brier = (1/n) Σ (fᵢ − oᵢ)²

Horizon-aligned panel design

Observations are grouped into aligned windows for fair comparison across markets:

Early · 90–31d Mid · 30–8d Pre-resolution · 7d–25h Resolution · final 24h

Cross-market matching framework core

A four-stage pipeline underpins the latest cross-market work — linking economically-equivalent contracts across Polymarket and Kalshi.

01

Catalog Export

Extract contract catalogs from both venues for comparison.

02

Semantic Matching

Sentence-transformers all-MiniLM-L6-v2, cosine similarity on titles/descriptions.

03

Rule-based Review

Topic-family, date-proximity, contract-family & exclusion filters + human review.

04

Transformation

Map Kalshi thresholds to Polymarket brackets; sum Fed dissent-split contracts.

05 · Findings

What the data revealed

Across five analytical fronts, prediction-market prices proved consistently informative — often beating traditional forecasting benchmarks.

Macro Events — FOMC · Unemployment (U-3) · CPI

Polymarket vs institutional forecasting benchmarks across the macro calendar (35 resolved events: 3 FOMC + 2 U-3 + 30 CPI).

FOMC Brier 0.044 · 82% better than random U-3 Brier 0.096 · 62% better CPI Brier 0.107 · 57% better

FOMC vs CME FedWatch

Polymarket consistently outperforms CME FedWatch at all horizons, converging smoothly toward the eventual 3.625% hold (aggregated across the Jan/Mar/Apr 2026 meetings).

HorizonPM MAE %CME MAE %
30d0.00760.0104
14d0.00280.0052
7d0.00130.0037
1d0.00050.0023

CPI vs Investing.com (final pre-resolution)

Across 16 YoY + 14 MoM releases, Polymarket is broadly level on YoY and better on MoM. A notable curiosity: peak accuracy around the 12-hour mark before release.

SeriesPM MAEInv. MAECloser
CPI YoY (16)0.0700.075PM 11/16
CPI MoM (14)0.0600.072PM 10/14

U-3 vs Bloomberg Consensus

Polymarket provides continuous 30-day forecasts (MAE improving 0.091% → 0.052%) versus Bloomberg's discontinuous coverage. An OLS of jobless-claims surprises vs next-day repricing gives R² = 0.52 — both coefficients carry the expected positive sign, but with only n=8 pairs this is suggestive, not conclusive.

Cross-event scorecard

DimensionFOMCU-3CPI
MAE @ 1d~0.0005~0.014~0.053
Brier0.0440.0960.107
BenchmarkCME (daily)BBG (gappy)Investing

Winner across all three dimensions: FOMC — the most liquid, best-calibrated macro market.

Corporate Earnings

Are decentralised markets informationally efficient for corporate earnings? Binary "beat/miss" contracts (tag 1013), Yes price = P(beat).

Brier 0.120 88% final accuracy r ≈ 0.18 (weak return corr.) 382 scored events

Pipeline & data

DB export → analyst fetch via yfinance → comparison engine → evaluation. Coverage: 416 resolved / 209 unique markets, 382 scored events. Markets outperform both a random 50/50 and the historical beat-rate baseline.

NVIDIA Feb 2026 — worked example

StageP(beat)
Listed (10 Feb)~0.47
7 days before~0.95
Just before report~0.9995
Outcome ($1.62 vs $1.52)Beat ✓
Polymarket vs random & historical beat-rate baselines (Brier). Open full chart ↗
Brier by horizon — the "final hour" edge. Open full chart ↗
Calibration is bimodal — low-Yes bucket realised 19.5%, high-Yes 90.1%. Open full chart ↗
Predicted call vs realised return — correct beat +1.60%, correct miss −2.97%. Open full chart ↗
Final Yes price vs actual stock return (r ≈ 0.18). Open full chart ↗
Probability-shift trend vs lifetime stock drift (r ≈ 0.19) — anticipatory signalling. Open full chart ↗

IPO Timing

Markets: "IPOs before 2027?" (34 active) and "IPOs in 2025?" (25 resolved, all NO). Flagships: OpenAI, Anthropic, SpaceX, Cerebras. Raw 12.2M minute-level → 204,273 hourly.

Event-study: all significant @ 1% Monotonic Brier decline Option-like time decay

Finding 1 — rapid news incorporation

An event-study of cumulative abnormal probability change (CAPC) across IPO-relevant news — all significant at the 1% level.

EventCompanyCAPCt-stat
For-profit discussionOpenAI−1.0−123.2
$4B funding roundAnthropic0.84226.7
Valuation > $350BSpaceX0.6670.0
IPO pricingCerebras0.2357.8
Valuation updateDatabricks0.58225.6

Finding 2 — option-like time decay

A theta-gamma analogy: near-certain outcomes (SpaceX, Cerebras) stay stable while uncertain names (OpenAI, Anthropic) drift as expiry approaches — mirroring European digital options.

Finding 3 — progressive learning

Brier scores decline monotonically toward zero. The "all-NO" 2025 contract is a natural experiment: average Brier across all 25 companies improves systematically as expiration nears.

Markets rapidly price material news, exhibit option-like decay, and learn progressively toward resolution.

Latest · Phase 4 · 6 Jul 2026

Cross-Market Analysis — Polymarket vs Kalshi

Comparing crypto-native liquidity (Polymarket) against a US-regulated venue (Kalshi) on economically-equivalent contracts — testing convergence, price-discovery leadership, and arbitrage.

Polymarket Kalshi

Fed / FOMC cross-market

High price alignment — mean absolute gaps rise from 1.39% (7d) to 2.97% (final). On paired Brier, Polymarket edges Kalshi at every horizon.

HorizonAbs GapPM BrierKalshi Brier
7d1.39%0.1550.156
1d1.82%0.0910.098
Final2.97%0.1280.135
Fed/FOMC price alignment across platforms. Open full chart ↗
Fed/FOMC probability paths across venues. Open full chart ↗
Fed/FOMC PM vs Kalshi price scatter. Open full chart ↗

US CPI cross-market

Larger gaps (4.1%–6.7%) due to fragmentation and threshold transforms — yet Polymarket consistently posts a lower Brier across all horizons.

Earnings feasibility audit

Of 316 Kalshi rows, 299 are qualitative "earnings_call_mention" and only 17 are possible quantitative beats — so a direct earnings cross-market comparison is currently blocked by contract-design mismatch.

US CPI price alignment across platforms. Open full chart ↗
US CPI probability paths across venues. Open full chart ↗
US CPI PM vs Kalshi price scatter. Open full chart ↗
Fed/FOMC paired Brier: Polymarket vs Kalshi. Open full chart ↗
US CPI paired Brier: Polymarket vs Kalshi. Open full chart ↗

Key findings

  1. Prediction-market prices are highly informative versus baselines.
  2. Prices converge in high-liquidity macro markets → a shared information environment.
  3. Contract design is critical to feasibility of cross-market comparison.

Trading Signals & Cross-Platform Arbitrage

Translating efficiency observations into simulated, testable trading logic.

Internal signals

  • Within-market trend: p(1h) − p(7d)
  • Momentum: p(1h) − p(12h)
  • Revision: |Δp| > 10pp
  • Benchmark-deviation vs historical beat-rate

Cross-platform signals

  • Disagreement/gap: |P(PM) − P(K)| > 10%
  • Lead-lag: detect Δp > 5% in a short window
  • Measure 1–6h reaction on the other venue

Cross-platform arbitrage

Buy the cheaper YES on one venue + the cheaper NO on the other; the pair always pays $1.

Arb_Cost = min(P_poly_yes, P_kalshi_yes) + 1 − max(P_poly_yes, P_kalshi_yes)
Net_Profit = 1 − fee − Arb_Cost · base fee 2% (sweep 2–4%)

Pair A — exactly-25bp July-2026 hike

Efficient market, no exploitable segmentation. Net profit −0.40% (daily). ADF confirms mean-reversion but an unfavourable mean.

FeeNet Profit% pos days
2.0%−0.40%32.4%
2.5%−0.90%20.6%
3.0%−1.40%10.3%
4.0%−2.40%0.0%

Pair B — any 2026 hike

A statistically & economically meaningful edge. Polymarket ~2.5pp cheaper; net profit +1.33% (daily), 61.9% positive days. Edge survives to ~3.3% fee; ADF mean-reverting with a positive mean → suitable for a limit-order grid.

FeeNet Profit% pos days
2.0%+1.33%61.9%
2.5%+0.83%50.3%
3.0%+0.33%47.5%
4.0%−0.67%32.0%

Arbitrage exists but is conditional on event horizon: the near-dated, finely-targeted Pair A integrates efficiently, while the longer-dated Pair B — with more distinct participant pools — sustains a persistent, mean-reverting edge (daily cumulative P&L ≈ +241%). Daily close data is treated as the primary evidence (≈70% of hourly Kalshi ticks are stale carry-forwards).

06 · Key Takeaways

The big picture

Bounded-price microstructure

The [0,1] constraint creates mechanical mean reversion — a feature, not a bug.

Continuous information aggregation

Prices refine continuously versus discrete expert surveys → a real temporal advantage.

Cross-event heterogeneity

Quality ranks FOMC > U-3 > CPI; liquidity & participant expertise matter.

Adequate calibration

Estimates stay directionally reliable and beat random guessing — a valuable real-time, crowd-sourced complement to expert forecasts.

07 · Future Work

Where the project is heading

Future directions

  • Full lead-lag price-discovery analysis
  • Expand to core CPI & corporate revenue-beat markets
  • Refine automated contract transformation
  • Real-time data streams & cross-venue arbitrage detection
  • Align Kalshi bid-ask midpoints for apples-to-apples arbitrage

Known limitations

  • Modest sample sizes (35 resolved macro events)
  • Longer-horizon data sparsity
  • Daily EOD prices miss intraday moves
  • Kalshi hourly data ~70% stale carry-forward (daily treated as primary evidence)
08 · Team

The people behind the project

Chan Ngai Yeung

3036383484

Wong Suen Fung

3036381838

Ho Chun Hin

3036384000

The University of Hong Kong · Capstone Project 2025–2026