Trading Dev AcademyFree quant education

Free lesson · Statistics

Prediction markets: probability, price and net expected value

Open interactive lessonPractice calculationsExplore labs

Start with the idea

A binary contract pays a fixed amount if an event occurs and zero otherwise. Its purchase price is money paid now; your probability estimate describes an uncertain future payment. They are different quantities.

Symbols, units & horizon
  • Π: profit per contract in dollars
  • E: probability-weighted average
  • p: your event probability for the settlement horizon
  • F: fixed winning payout in dollars, positive
  • c: executable purchase price in dollars
  • f: total assumed fee and cost per contract in dollars
  • p_BE: break-even probability
  • 1−p: probability of the losing branch

When and why to use this

Use the payout ledger to evaluate a binary event contract or as a simple building block for understanding any cost-sensitive classifier.

For a contract settling at $1, list the two cash outcomes before using a formula. If you pay 62 cents and incur 1 cent of total fees, winning leaves 37 cents of net profit and losing costs 63 cents. The same upfront payment occurs in both branches.

Weight each branch by your estimated probability. A contract can correctly identify the more likely event yet be too expensive to buy. Conversely, a low-probability outcome is not attractive simply because its payout multiple is large. Expected profit depends on the price relative to a calibrated probability and all costs.

A maker posts an order and waits; a taker accepts an available quote. A lower posted price may never fill, and fills may concentrate when your forecast is wrong. The last traded price is not necessarily available for your size. Historical fee schedules in research must not be copied into current execution assumptions.

For an experiment, group contracts by underlying event, preserve their resolution deadlines and evaluate probability calibration separately from executable net returns. Compare against a market-price forecast and a no-trade decision. Use cautious sizing when probability estimates are fragile; the later Kelly lesson describes a model-dependent optimum, not an instruction to stake that amount.

E[Π]=p(F−c−f)+(1−p)(−c−f)=pF−c−f,pBE=c+fF
Model assumptions, derivation and arithmetic

Prediction markets: probability, price and net expected value

  1. Winning net profit is F−c−f and losing net profit is −c−f.
  2. Expand p(F−c−f)+(1−p)(−c−f). The price and fee terms sum to −c−f because the probabilities sum to one.
  3. Set pF−c−f=0, add c+f to both sides, and divide by positive F. This gives the break-even probability.
Work it by hand

For p=.70, F=$1, c=$.62 and f=$.01, expected profit=.70−.62−.01=$.07 per contract. Break-even probability=.63. If p is actually .60, the expectation is −$.03. These are hypothetical costs, not a venue fee quote.

Apply it in a strategy

  • Specify payout, settlement and executable price for the actual size.
  • Estimate event probability and its uncertainty without future information.
  • Stress fees, fill selection and probability error; log both forecast quality and net economic outcomes.

Research deliverable

Write a two-outcome cash ledger and identify the probability error that would erase its expected profit.

Sources & evidence · reviewed 12 September 2026

Reviewed 12 September 2026: working paper 2026-001, February cover / January manuscript. Introduction, data, fee conventions and results reviewed in full text. The selected sample covers 2021–April 2025, with 46,282 Yes contracts across 12,403 events; repeated observations create 313,972 purchased-side prices, not that many independent events. It reports favorite–longshot bias and different maker/taker outcomes. Filters exclude thin, wide-spread and sub-24-hour markets; fees reflect the historical sample. These findings motivate event-grouped calibration and execution tests, not a current trade recommendation or replicated strategy.

Further reading: Bürgi, Deng & Whelan · Makers and Takers: The Economics of the Kalshi Prediction Market ↗

Python implementation

Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.

from math import isfinite

def binary_contract(probability,price,cost,payout=1):
    if not all(isfinite(x) for x in [probability,price,cost,payout]) or not 0<=probability<=1 or payout<=0 or price<0 or cost<0:
        raise ValueError("Invalid contract inputs")
    return probability*payout-price-cost,(price+cost)/payout

print(binary_contract(.70,.62,.01))

Continue learning

Statistics & Probability — all lessons
  1. Start with counts, probabilities and averages
  2. Random outcomes, sample averages and the limits of the bell curve
  3. Conditional probability: update a belief with evidence
  4. Prediction markets: probability, price and net expected value
  5. Expected value: measure the payoff before choosing the risk
  6. Correlation: how many strategies do you really have?
  7. Conditional probability and Bayes: where the edge actually lives
  8. The central limit theorem: sampling means under explicit assumptions
  9. Estimation uncertainty and Bayesian updating

Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations