Parimutuel markets
A parimutuel (French pari mutuel, "mutual betting") is pool betting. All wagers on a set of mutually exclusive, exhaustive outcomes go into one pool; the operator removes a fixed takeout $\tau$ and distributes the remainder pro rata to the backers of the winning outcome. No price is quoted by anyone; the odds are read off the pool, and they are not fixed until betting closes. The operator carries no outcome risk: the bettors collectively fund every payout. Invented by Pierre Oller in the 1860s and mechanised by the totalisator, it remains the settlement system for horse and greyhound racing worldwide.
The pool and the payout formula
Let there be $n$ outcomes. Write $W_i$ for the total staked on outcome $i$ and $W = \sum_{i} W_i$ for the whole pool. With takeout $\tau \in [0,1)$, the net pool $(1-\tau)\,W$ is shared among the winners. A bettor who staked $w$ on the winning outcome $j$ receives
The factor $(1-\tau)\,W / W_i$ is the implied decimal odds on outcome $i$, the payout per unit staked. Because each winner's share is proportional to their stake and the pool is closed, the house can never pay out more than it took in: settlement is self-funding by construction. The takeout is the operator's only revenue and the bettors' aggregate edge against the pool.
In code: ParimutuelPool in
mechanisms/parimutuel.py
exposes bet(), pool_on(),
decimal_odds(), implied_probabilities(), and
settle(), which returns the per-bettor payouts above. (When no
ticket backs the winner it refunds the net pool pro rata across all stakes.)
A homage: Julius's totalisator
The few lines of arithmetic above, sum the stakes on each runner, sum the whole pool, divide, were once a machine. The Australian engineer George Julius patented an automatic totalisator in 1909 and installed the first one at Ellerslie racecourse in Auckland in 1913; his company, Automatic Totalisators Limited (1917), then supplied them to racetracks worldwide for half a century. A Julius tote was a room-sized mechanical computer of shafts, cables, and epicyclic adders that accumulated bets from hundreds of selling windows at once and displayed the live pool totals and odds in real time, continuously recomputing the same $p_i = s_i / \sum_j s_j$ this module evaluates in a line of code. Brian Conlon makes the case that it was the world's first large-scale, multi-user, real-time computing system, predating electronic computers by decades: the parimutuel was a working analog computer before it was an equation. See Conlon's totalisator history and his account in the Rutherford Journal, and where it lands Australia in the World Cup of prediction markets.
Endogenous odds and implied probabilities
The defining feature is that odds are endogenous. They are not offered to a bettor at bet time and locked in; they are determined by the final distribution of money across outcomes, and so move as later money arrives. A bet placed early on what becomes a heavily backed outcome ends up paying short odds. This is the opposite of fixed-odds bookmaking, where the house quotes a price, takes the other side, and bears the risk.
The pool fractions are the market's implied probabilities:
Read this way a parimutuel is a simple information-aggregation mechanism; the crowd's money is the probability estimate. Racetrack favourites turn out to be remarkably well calibrated, which is why these markets are treated as a laboratory for the wisdom of crowds and a conceptual bridge from gambling to prediction markets. Because the operator never quotes or holds a position, there is no inventory to hedge and no analogue of the pm-AMM's loss-versus-rebalancing; the bettors price each other.
The favourite–longshot bias
The most robust empirical regularity in these markets is the favourite–longshot bias: bettors systematically overbet longshots (low-probability outcomes) and underbet favourites. The implied probabilities on longshots run above their realised frequencies, so the expected return on a longshot is more negative than on a favourite, rather than equalised across all horses as calibrated odds (implied probabilities matching realised frequencies) would give.
The anomaly is old and well documented. Thaler & Ziemba (1988) synthesise it in the JEP "Anomalies" series; Snowberg & Wolfers (2010), on a large dataset, build a test that distinguishes risk-loving preferences from misperception of probabilities and find the evidence favours misperception (probability weighting). The bias is a reminder that the pool fractions reflect how bettors weight and wager, a behavioural aggregate, not the realised outcome frequencies.
Pennock's dynamic parimutuel market
A static pool fixes nothing until close, so it gives no running price and no way to take a profit before settlement. Pennock's dynamic parimutuel market (DPM, ACM EC'04) keeps the self-funding, no-operator-risk property of a pool but adds continuous price discovery, hybridising the pool with order-book-style pricing. Traders buy shares of outcomes, priced by the cost function
whose gradient gives the share-ratio property $p_i/p_j = s_i/s_j$. Moving the state from $s$ to $s'$ costs $C(s') - C(s)$, so the price rises as an outcome is bought and an early buyer at a low price profits when later buying lifts it, a live mark-to-market a static pool cannot offer. Note that the prices satisfy $\sum_i p_i^2 = \kappa^2$ rather than summing to one; $s_i / \sum_k s_k$ is the renormalisation that reads as a probability.
Charging the integral rather than the pre-trade price is what makes the mechanism coherent. Because $C$ is homogeneous of degree one, the cash in the pool equals $C(s)$ at every instant, and paying the whole pool out at $C(s)/s_i$ per winning share balances exactly. It also makes purchases path-independent: buying \$1 in one go and in two 50¢ halves must give the same shares, which a pre-trade linear price does not (2.0 against 1.75 from a uniform start, a free lunch for whoever slices differently).
One thing a DPM share is not, is an Arrow security. Its payoff is $C(s)/s_i = 1/p_i$, which depends on the state at settlement and not only on which outcome occurred. The operator seeds the market with $s_0$ and the subsidy $C(s_0)$, redeems those seed shares alongside everyone else's, and so risks at most the subsidy. The DPM powered the Yahoo! Buzz market and is a direct precursor to Hanson's market scoring rules and the LMSR.
In code: DynamicParimutuelMarket in
mechanisms/parimutuel.py
exposes cost(), prices(), buy(),
sell(), settle() and house_settlement().
The share count for a given spend has a closed form,
$\delta = \sqrt{(C_0/\kappa + \text{spend}/\kappa)^2 - (C_0/\kappa)^2 + s_i^2} - s_i$,
so no root-find is needed.
Watch the pool find the odds
Bets stream onto three runners, drawn from a hidden true distribution. The pool fractions are the implied probabilities and the decimal odds re-flow with every bet; early noise settles as the money piles up.
Try it: set the stakes
Stakes on three outcomes set the pool fractions (implied probabilities) and the decimal odds, net of a takeout.
Code: mechanisms/parimutuel.py · Demo: examples/sim_parimutuel.py · Related: pm-AMM, LMSR · Research: parimutuel-and-scoring-rules.md