Python 56.2%
TeX 43.7%
1<!-- Author: Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca -->2# 🎯 Prediction Markets as Arrow–Debreu Securities: Evidence from Polymarket34**UQO Working Paper No. 8** — *Price Discovery, Market Completeness, and Information Aggregation in Blockchain-Based State-Contingent Claims*56[-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)7[](pyproject.toml)8[](data/raw/README.md)9[](scripts/)10[](https://uqo.ca)11[](mailto:simon-pierre.boucher@uqo.ca)1213> **TL;DR** — Polymarket binary contracts are modelled as Arrow–Debreu state-contingent claims. On the Fed June 2026 rate-decision neg-risk group (five mutually exclusive outcomes) and the 2024 U.S. Presidential Election markets, state prices sum to **1.02 on average** (146 obs., mean deviation 0.025) with no persistent arbitrage; prediction-market prices move **15–45 minutes ahead** of Treasury futures around FOMC and CPI releases; and Roll spreads / Amihud ratios of high-profile contracts rival those of established markets. Decentralized prediction markets behave as effective Arrow–Debreu economies.1415---1617## 📌 Status1819| Item | Value |20|---|---|21| Version | 1.0 (May 2026) |22| SSRN | not yet submitted |23| Journal | — |24| Code & data | reproducible from `scripts/run_analysis.py` (public APIs; FRED key required) |2526## 🎯 What this paper does2728The paper asks whether blockchain prediction markets satisfy the textbook properties of complete Arrow–Debreu markets: (i) completeness and no-arbitrage — do state prices of mutually exclusive outcomes sum to the discount factor and stay positive? (ii) price discovery — do state prices incorporate macro news before conventional markets? (iii) microstructure quality — are these contracts liquid enough to be used as state-contingent claims?2930```31Σ_s π_s = 1/(1+r_f) (completeness) π_s > 0 ∀s (no arbitrage)32```3334Tests combine completeness and arbitrage-violation statistics, risk-neutral densities and moments, event studies around FOMC/CPI announcements, Hasbrouck information shares, VAR/Granger causality between Polymarket and Treasury futures, and GARCH/HAR-RV volatility models.3536## 🏆 Headline results3738| Object | Estimate |39|---|---|40| Mean sum of state prices (Fed neg-risk group) | 1.0205 (sd 0.053, n = 146) |41| Mean deviation from unity | 0.0248; max 0.570; all state prices positive |42| Lead of Polymarket over Treasury futures around FOMC/CPI | 15–45 minutes |43| Liquidity (Roll spread, Amihud) of high-profile contracts | comparable to established markets |4445## 🗂 Repository layout4647```48polymarket-arrow-debreu/49├── data/50│ ├── raw/ # Polymarket / FRED / Yahoo snapshots (see data/raw/README.md) — not committed51│ └── processed/ # cleaned parquet panels (committed)52├── src/53│ ├── config.py # paths, API endpoints, market registry, event dates54│ ├── api/ # polymarket.py, fred.py, yahoo.py, runner.py55│ ├── cleaning/ # polymarket_cleaner, macro_cleaner, yahoo_cleaner56│ ├── features/ # engineering.py, event_windows.py57│ ├── models/ # arrow_debreu, event_study, price_discovery, liquidity, volatility58│ └── plots/ # figures.py, tables.py, style.py59├── scripts/60│ └── run_analysis.py # master pipeline: data → cleaning → models → figures/tables61├── results/tables/ # table1…table8 (.tex fragments input by the paper)62├── figures/ # fig1…fig12 (PDF/PNG)63└── paper/ # main.tex + sections/ + appendix/ + references.bib → main.pdf64```6566## 🚀 Quick start6768```bash69python3 -m pip install -e . # dependencies from pyproject.toml70cp .env.example .env # set FRED_API_KEY71python3 scripts/run_analysis.py # --skip-data / --skip-models / --skip-paper72cd paper && make # latexmk → main.pdf73```7475## 🗃 Data7677Minute-level price histories, order books and metadata for the Fed June 2026 rate-decision markets (event 101772, 5 outcomes), four closed Fed markets and the 2024 Presidential Election markets (Trump / Harris) from the Polymarket Gamma and CLOB APIs; fed funds rate, CPI and unemployment from FRED; Treasury futures and benchmarks from Yahoo Finance. Snapshot 2026-05-22. See `data/raw/README.md`.7879## 🔬 Methodology80811. **Completeness & no-arbitrage** — sum of state prices, positivity, implied discount factor, arbitrage-violation detection (`src/models/arrow_debreu.py`).822. **Risk-neutral density & moments** extracted from the neg-risk group.833. **Event studies** around FOMC and CPI releases with cumulative abnormal state-price responses (`event_study.py`).844. **Price discovery** — Hasbrouck information shares, VAR and Granger causality vs Treasury futures (`price_discovery.py`).855. **Liquidity** — Roll spreads, Amihud illiquidity (`liquidity.py`).866. **Volatility** — realized measures, GARCH and HAR-RV (`volatility.py`).8788## 🖼 Figures & tables inventory8990| Figure | Content |91|---|---|92| `fig1_state_prices` | state-price dynamics, Fed June 2026 group |93| `fig2_completeness_test` | sum of state prices over time |94| `fig3_risk_neutral_density` | implied risk-neutral density |95| `fig5_event_study_cars` | cumulative abnormal responses around FOMC/CPI |96| `fig7_granger_heatmap` | Granger-causality matrix |97| `fig9_volatility` | realized volatility measures |98| `fig10_liquidity` | Roll spread and Amihud ratios |99| `fig11_election_case_study` | 2024 election markets |100| `fig12_arbitrage_violations` | arbitrage-violation episodes |101102Tables (`results/tables/`): descriptive statistics, summary statistics, completeness tests, event study, Granger, VAR, GARCH, HAR-RV.103104## ⚠️ Limitations105106- Two event families (one Fed neg-risk group, one election) — a small set of high-profile markets.107- Polymarket order-book snapshots are point-in-time; depth over the full sample is not observed.108- Price-discovery leads are measured at the minute frequency on days with scheduled announcements only.109110## 📝 Citation111112```bibtex113@techreport{boucher2026polymarket,114 author = {Boucher, Simon-Pierre},115 title = {Prediction Markets as Arrow--Debreu Securities: Evidence from Polymarket},116 institution = {Universit\'e du Qu\'ebec en Outaouais, D\'epartement des sciences administratives},117 type = {Working Paper},118 number = {8},119 year = {2026},120 month = {May}121}122```123124## 👤 Author & contact125126**Simon-Pierre Boucher** — Département des sciences administratives,127Université du Québec en Outaouais (UQO), Gatineau, QC.128📧 [simon-pierre.boucher@uqo.ca](mailto:simon-pierre.boucher@uqo.ca)129130## 🗒 Notes131132- Harmonisation 2026-10-17: `tables/` moved to `results/tables/` (paths updated in `src/config.py` and the paper), `run_analysis.py` moved to `scripts/`, empty `logs/`/`notebooks/` removed; `fig5_event_study_cars` is included as PNG (the PDF export was missing).133