What is prediction-market-analysis?
The project separates the venues into their own directories and stores market, trade and block data in Parquet. You can begin with the pre-collected archive or gather supported metadata and trade history from APIs and blockchain sources. Saved collection state allows an interrupted indexer to resume.
A result needs its data boundaries as well as its code: preserve the input version, filters and treatment of transfers, open positions and resolved trades. Trade history does not reconstruct the full resting order book. The documented compressed archive is 36 GiB, and extraction needs more space; the packaging command also removes the data directory after creating the archive.
Who it is for
- Researchers studying market behavior and trader outcomes.
- Analysts seeking a downloadable trade dataset.
- Python developers extending collection and analysis scripts.
Clients and supported operations
- Collected archive
Begin research with the public market and trade dataset.
- Venue separation
Keep Polymarket and Kalshi records in separate dataset directories.
- Collection indexers
Gather metadata and trades from supported API and blockchain sources.
- Resumable collection
Continue an interrupted collection from its saved progress.
- Parquet data
Query columnar files containing markets, trades and blocks.
- Custom research
Add analysis scripts using the framework’s shared interfaces.
- Result formats
Export PNG and PDF figures alongside CSV and JSON results.
Development workflows
Reproduce a figure
Download the data, read its schema and run the relevant analysis. Save the input version and filters with the resulting figure.
Extend a research question
Add a custom analysis through the shared interfaces. Export structured intermediate tables with the figure so the calculation can be inspected.
Refresh coverage
Select the appropriate indexer, resume saved progress and record the new coverage boundary.
Pricing and total cost
The code is MIT-licensed and the dataset is publicly downloadable. Local storage, compute and any access to collection providers are your operating costs.
Installation and configuration
- Use Python 3.9 or newer and install with uv.
- Allocate space for both the compressed archive and extracted files.
- Read the market and trade schemas.
- Download the collected dataset or run a selected indexer.
- Begin with a bounded analysis before increasing the workload.
- Keep derived results separate from the source data.
The documented compressed archive is 36 GiB; extraction requires additional disk space.
Useful links
What to check
- Dataset coverage and cutoffs differ from a live data service.
- Trade history is not a full historical resting order book.
- The packaging command deletes the data directory after creating the archive.
- Transfers, open positions and resolved trades need explicit treatment when interpreting results.
A closer look
Ratings & reviews
User reviews 0
The main score switches to user ratings after 5 published reviews.
A specific example helps the next person choose the right tool.
Related tools
Browse categoryFrequently asked questions about prediction-market-analysis
Must I collect the entire dataset myself?
No. A pre-collected market and trade archive is provided.
Can an interrupted collection resume?
Yes. The indexers save progress for resumption.
Where are charts and tables written?
Analyses place their results under the output directory.
Can these files support exact L2 replay?
The core dataset contains markets and trades. Use a dedicated order-book archive when you need to reconstruct resting depth.


