Exercises — Chapter 1: What Are Prediction Markets?

These exercises are organized into five parts of increasing complexity. Work through them in order, or jump to the sections that match your current skill level.


Part A: Conceptual Questions

A1. In your own words, explain why the price of a binary prediction-market contract can be interpreted as a probability. Your explanation should reference the concepts of buyers, sellers, and equilibrium.

A2. A friend says: "Prediction markets are just gambling — they don't produce useful information." Write a three-paragraph response that addresses this claim. Reference at least two mechanisms that make prediction markets informative (e.g., incentive alignment, information aggregation).

A3. List the three conditions identified by James Surowiecki for the "wisdom of crowds" to function. For each condition, give one example of how a prediction market satisfies it and one example of how it might violate it.

A4. Explain the difference between an informed trader and a noise trader. Why are both necessary for a well-functioning prediction market?

A5. What are resolution criteria, and why are they critical to the functioning of a prediction market? Give an example of a poorly designed resolution criterion and explain how it could distort trading.

A6. A prediction market contract on "Will it rain in New York City tomorrow?" is trading at \$0.73. A weather forecasting model gives a 68 % chance of rain, and a local meteorologist says "it will probably rain." Are these three forecasts contradictory? Explain how they can be compared and what each source's strengths are.

A7. Describe the favorite-longshot bias. If a contract for an unlikely event (true probability 5 %) is trading at \$0.09, is it overpriced or underpriced relative to the true probability? What does the bias predict about this situation?

A8. Why might a prediction market for an event 10 years in the future be less accurate than one for an event 3 months away? Identify at least two reasons related to market mechanics (not just the difficulty of the prediction itself).


Part B: Calculation Problems

B1. A binary contract has a Yes price of \$0.62 and a No price of \$0.42.

(a) What is the overround? (b) What is the implied probability of "Yes" after removing the overround? (c) What is the implied probability of "No" after removing the overround?

B2. You believe there is a 72 % chance that a particular event will occur. The Yes contract is currently trading at \$0.65.

(a) What is the expected value of buying one Yes contract? (b) If you buy 100 contracts, what is your expected profit? (c) What is the maximum price at which you would still buy the contract, given your belief?

B3. A categorical market for "Who will win the award?" has the following prices:

Candidate Price
Alice \$0.40
Bob \$0.30
Carol \$0.20
Other \$0.15

(a) What is the overround? (b) Calculate the normalized implied probability for each candidate. (c) If you believe Alice has a 50 % chance, Bob has 25 %, Carol has 15 %, and Other has 10 %, which contracts have positive expected value?

B4. A scalar market for "What will Company X's revenue be in Q4?" has the following bucket prices:

Revenue Range ($M) Price
< 100 \$0.05
100–150 \$0.15
150–200 \$0.40
200–250 \$0.25
250–300 \$0.10
> 300 \$0.05

(a) What is the market's implied expected revenue? (Use midpoints of 75, 125, 175, 225, 275, and 325 for the buckets.) (b) Which bucket has the highest implied probability? (c) What is the implied probability that revenue will exceed \$200M?

B5. A sports book offers the following odds on a tennis match:

  • Player A to win: decimal odds 1.80
  • Player B to win: decimal odds 2.10

(a) Convert these to implied probabilities (before removing overround). (b) What is the overround? (c) What are the fair implied probabilities after removing the overround?

Hint: Implied probability from decimal odds $d$ is $1/d$.

B6. You are considering buying a contract at \$0.30. You believe the true probability is 40 %.

(a) What is your expected value per contract? (b) Using the simplified Kelly criterion $f^* = \frac{p - c}{1 - c}$ (where $p$ is your probability and $c$ is the contract price), what fraction of your bankroll should you allocate to this trade? (c) If your bankroll is \$1,000, how many dollars should you bet according to Kelly?

B7. Two prediction platforms offer contracts on the same event:

  • Platform A: Yes at \$0.58, No at \$0.46
  • Platform B: Yes at \$0.52, No at \$0.52

(a) Calculate the overround on each platform. (b) Calculate the implied Yes probability on each platform (after removing overround). (c) Is there an arbitrage opportunity? Explain.


Part C: Programming Challenges

C1. Price Converter Function

Write a Python function convert_prices that takes a list of contract prices (for a categorical market) and returns:

  • The overround as a float.
  • A list of normalized implied probabilities.
  • A boolean indicating whether the overround is within a "normal" range (0 to 0.10).

Include type hints, a docstring, and at least three test cases.

C2. Fetching Market Data

Write a Python script that uses the requests library to fetch data from a public prediction market API. Use the Polymarket or Metaculus API (or create a mock API response if the API is unavailable). Your script should:

  1. Retrieve at least 5 active markets.
  2. Display the market question, current price, and implied probability for each.
  3. Handle errors gracefully (network timeouts, missing fields).

C3. Implied Probability Visualizer

Write a Python script that creates a bar chart showing the implied probabilities for a categorical market. Use the data from exercise B3 (Alice, Bob, Carol, Other). The chart should:

  • Show both raw prices and normalized probabilities as grouped bars.
  • Include a title, axis labels, and a legend.
  • Save the chart to a PNG file.

C4. Expected Value Heatmap

Write a Python script that generates a heatmap (using matplotlib or seaborn) showing the expected value of a trade as a function of:

  • Your probability estimate (y-axis, from 0.0 to 1.0 in steps of 0.05).
  • The contract price (x-axis, from 0.0 to 1.0 in steps of 0.05).

Color positive EV cells green and negative EV cells red. Mark the break-even diagonal with a dashed line. Save to a file.

C5. Market Simulator

Write a Python class SimplePredictionMarket that simulates a basic binary prediction market:

  • The market is initialized with a starting price (e.g., 0.50).
  • Method buy(quantity, trader_belief) moves the price up by a small amount proportional to quantity.
  • Method sell(quantity, trader_belief) moves the price down.
  • Method get_price() returns the current price.
  • Method history() returns a list of all historical prices.
  • Run a simulation with 200 random traders whose beliefs are drawn from a Beta distribution centered on the "true" probability. Plot the price over time and show that it converges near the true probability.

Part D: Analysis Scenarios

D1. Analyzing a Real Market

Find a currently active prediction market on any platform (Polymarket, Metaculus, Kalshi, PredictIt, etc.). Answer the following:

(a) What is the question, and what are the resolution criteria? (b) What is the current price and implied probability? (c) Is there an overround? If so, how large? (d) How liquid is the market? (Report volume, number of traders if available, bid-ask spread.) (e) Do you agree with the market's probability? If not, explain your reasoning.

D2. Cross-Platform Comparison

Find the same (or very similar) question on two different prediction platforms. Compare:

(a) The implied probability on each platform. (b) The overround on each platform. (c) The liquidity on each platform. (d) If the probabilities differ by more than 5 percentage points, propose an explanation for the discrepancy.

D3. Market Efficiency Test

Choose a historical prediction market that has already resolved (you can find these on Metaculus or the Wayback Machine).

(a) What was the final trading price before resolution? (b) Did the event occur? (c) Was the final price "correct" in the sense that it was close to 1 (if the event occurred) or close to 0 (if it did not)? (d) Can you judge market accuracy from a single event? Why or why not? What would you need to assess calibration properly?

D4. Manipulation Scenario

Suppose you have \$100,000 and want to manipulate a prediction market with \$500,000 in total volume by pushing the price from \$0.50 to \$0.70.

(a) Roughly how many contracts would you need to buy (assume a simple linear price-impact model)? (b) What would happen if informed traders notice the price has moved away from their estimate? (c) How long could you sustain the manipulation? (d) What features of market design make manipulation harder?


Part E: Research Questions

E1. Literature Review

Find and read one of the following papers: - Wolfers & Zitzewitz (2004), "Prediction Markets" - Arrow et al. (2008), "The Promise of Prediction Markets" - Berg, Nelson & Rietz (2008), "Prediction Market Accuracy in the Long Run"

Write a one-page summary (approximately 500 words) covering: (a) The paper's main argument or research question. (b) The key evidence or results. (c) One limitation acknowledged by the authors. (d) One question the paper raises that is not answered.

E2. Novel Application

Propose a novel application of prediction markets that does not currently exist (to your knowledge). Your proposal should include:

(a) The question or set of questions the market would answer. (b) Who would trade in the market and why. (c) How the contracts would be structured (binary, categorical, scalar?). (d) What resolution criteria you would use. (e) Potential obstacles (liquidity, regulation, ethics). (f) Why a prediction market would be better than existing forecasting methods for this domain.

E3. Platform Comparison Report

Compare at least three prediction-market platforms (e.g., Polymarket, Kalshi, Metaculus, PredictIt, Betfair). For each platform, document:

(a) Geographic availability and regulatory status. (b) Whether it uses real money or play money. (c) Contract types offered (binary, categorical, scalar, conditional). (d) Fee structure and overround. (e) User interface and data-export capabilities. (f) One unique strength and one notable weakness.

Compile your findings into a comparison table and write a 300-word summary of your recommendations for different user profiles (casual observer, active trader, researcher).


End of Exercises — Chapter 1