DEV Community

manja316
manja316

Posted on • Edited on

I Collected 18.6 Million Polymarket Price Points — Here's What I Found About How Markets Really Move

📊 Dataset facts (refreshed 2026-07-04): The collection pipeline now holds 18.6M+ price snapshots (18,611,636) across 22,410 markets — verify live anytime at api.protodex.io/stats (updates every 15 minutes). There are also 1,856,388 orderbook rows, but I'll be honest up front: ~94% of them are thin-market placeholders, so the 15-minute price series is the substantive product, not the book depth. The analysis below was run on the first ~8.9M-point cut; the edges have held as the archive has more than doubled. Downloadable SQLite ($19) at gumroad.com/l/polymarket-quant-toolkit.


Everyone says prediction markets are efficient. I spent months collecting data to test that claim.

The result: 18.6 million price snapshots across 22,410 markets — and the data tells a story most traders miss completely.

The Setup

I built an automated collector that snapshots every active Polymarket market every 15 minutes. Not just BTC or the US election — every market. Politics, sports, crypto, geopolitics, economics, entertainment, weather, science. All of it.

After 75 days of continuous collection (2026-03-28 → 2026-06-11):

Metric Value
Markets tracked 22,410 markets
Price snapshots 18,611,636
Orderbook rows* 1,856,388
Categories 10
Update frequency every 15 min

*Honesty note: ~94% of the orderbook rows are thin-market placeholders (single-sided or empty books). The 15-minute price series is the real dataset — don't buy this for the book depth.

Most Polymarket datasets you'll find cover a single market or a single event. This covers the entire platform simultaneously — which lets you see patterns that single-market analysis can't.

Finding #1: Markets Are Not Efficient After Crashes

Everyone assumes prediction markets instantly price in new information. The data says otherwise.

I measured what happens after a price drops more than 20% between consecutive snapshots. Here's what the 5,629 crash events show:

Time After Crash Average Return Events Measured
+15 min +6.6% 5,629
+30 min +8.8% 5,629
+45 min +10.3% 5,629
+1 hour +11.0% 5,629

After a >20% crash, prices bounce back an average of 6.6% within 15 minutes.

This is classic mean reversion — and it's massive. For comparison, the S&P 500's average annual return is about 10%. These markets deliver that in an hour after a crash.

The reverse is also true. After a >10% pump:

Time After Pump Average Return
+15 min -2.9%
+30 min -3.7%

Prices that spike tend to give it back. Markets overreact in both directions.

Finding #2: Hold Time Matters More Than Entry Price

I simulated the obvious strategy — buy the crash, sell the recovery — across the dataset. Here's how hold time affects the result:

Max Hold Trades Win Rate Total P&L
2 hours 10,204 54% $87
6 hours 8,324 64% $108
12 hours 7,295 70% $121
24 hours 6,225 75% $135
48 hours 5,352 81% $142

The sweet spot is 12 hours. Going from 12h to 48h only adds $21 to total P&L but locks your capital 4x longer. Most of the money is made in the first few hours.

This surprised me. I expected entry price to be the key variable. It's not:

Entry Price Range Win Rate Avg P&L Per Trade
Under $0.10 74% $0.014
$0.10 — $0.30 74% $0.018
$0.30 — $0.50 79% $0.032
Above $0.50 86% $0.022

Higher-priced markets actually have better win rates. The cheap ones look tempting but they include more dust trades that go nowhere.

Finding #3: Category Is Your Edge Selector

Not all Polymarket categories behave the same:

Category Trades Win Rate P&L Per Trade Verdict
Crypto 646 78% $0.030 Best per-trade
Sports 1,050 79% $0.027 Most consistent
Other 1,872 75% $0.024 Most volume
Politics 1,362 76% $0.018 Decent
Geopolitics 890 71% $0.016 Below average
Economics 101 69% $0.008 Avoid
Weather 21 57% Negative Avoid

Crypto and sports markets have the strongest mean reversion. Economics and weather markets are traps — they crash and stay crashed.

Why? Sports and crypto have event-driven resolution (the game happens, the price discovers). Economics markets depend on slow-moving indicators — when they crash, it's often because the fundamentals actually changed.

By raw market count, the platform today skews to "other" (10,571), sports (2,624), and crypto (2,345) — so there's no shortage of liquid markets in the categories that mean-revert best.

Finding #4: The "Always Bet No" Strategy Is Overhyped

You may have seen the "Nothing Ever Happens" bot that bets NO on everything. The claim: 73% of Polymarket resolves NO.

I checked with 4,763 resolved binary markets from the API:

  • All markets: 52.3% resolve NO (not 73%)
  • Non-sports: 57%
  • "Will X happen?" framing: 59.3%

The 73% figure comes from a heavily filtered subset. Across all markets, the NO edge is barely there — and at typical NO prices ($0.65-0.85), the math doesn't work.

The Dataset Is Free to Explore

I'm releasing the data across multiple platforms:

Free:

  • Live API — 100 requests/day, no key required; hit /markets, /crashes, /stats directly
  • Kaggle — markets.csv + price preview + SQLite DB
  • HuggingFace — same files, HF ecosystem integration
  • GitHub — browse the data, star if useful

Full historical archive ($19):

  • Gumroad ($19) — the complete SQLite DB: 18.6M price snapshots (the orderbook table is included, but see the honesty note above — it's ~94% placeholder)

The pipeline keeps running every 15 minutes. If you want to reproduce any of these findings, everything is there.

What I'd Build Next

If I were starting a Polymarket quant project today, I'd focus on:

  1. Real-time crash detection — the 6.6% bounce after crashes is the clearest edge
  2. Category rotation — crypto and sports, skip economics and weather
  3. 12-hour max hold — the data is unambiguous on this
  4. Cross-market signals — does a crash in one political market predict crashes in related ones?

The prediction market space is where crypto was in 2017 — growing fast, most participants losing money, and the edge goes to people with data infrastructure.


The data is collected from Polymarket's Gamma API and CLOB API using an automated pipeline. I also maintain protodex.io, a security-scored index of MCP servers.

Questions or want custom data cuts? LuciferForge@proton.me

Top comments (1)

Collapse
 
jbowz profile image
jbowz

Great dataset release. Two questions on the crash-bounce number: Does the +6.6% net out crossing the spread twice, and is the sample conditioned on markets that later resolved?

On the NO-bias myth, an independent read of resolved markets agrees with you, the 73% figure doesn't survive contact with the data.

Happy to compare notes on where the Gamma API quietly thins out, I've hit those boundaries too.