I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move
Source: Dev.to
⚠️ Collection Error: Content refinement error: Error: 429 “you (bkperio) have reached your session usage limit, upgrade for higher limits: https://ollama.com/upgrade (ref: 4ef04587-df5c-4f25-a0f0-5780fe4b32de)”
Everyone says prediction markets are efficient. I spent 30 days collecting data to test that claim. The result: 8.9 million data points across 9,550 markets — and the data tells a story most traders miss completely. 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 30 days of continuous collection:
Metric Value
Markets tracked 9,550
Price snapshots 8,158,672
Orderbook depth snapshots 792,527
Categories 10
Total data points 8,951,199
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. 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. I simulated the obvious strategy — buy the crash, sell the recovery — across all 30 days of data. 6,225 trades. 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. 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. 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. I’m releasing the full dataset across multiple platforms: Free (sample): Kaggle — markets.csv + 100K price preview + full SQLite DB HuggingFace — same files, HF ecosystem integration GitHub — browse the data, star if useful Full dataset ($9): Gumroad — 8.9M data points, orderbook depth, SQLite DB The data updates weekly from an automated pipeline. If you want to reproduce any of these findings, everything is there. If I were starting a Polymarket quant project today, I’d focus on: Real-time crash detection — the 6.6% bounce after crashes is the clearest edge Category rotation — crypto and sports, skip economics and weather 12-hour max hold — the data is unambiguous on this 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 was collected from Polymarket’s Gamma API and CLOB API using an automated pipeline. All code and methodology are open source. I also maintain protodex.io, an index of 2,013 MCP servers with security scores. Questions or want custom data cuts? LuciferForge@proton.me