From Triangles to Polytopes: The Shape of a Fair Market (Part 2)
In Part 1, we converted Betfair odds into implied probabilities and discovered that those probabilities live inside a triangle — the probability simplex. A bookmaker's overround pushes the point outside; an exchange arb pulls it below.
That was a single market. One race, one set of odds, one triangle.
Now we go further. What happens when you have two linked markets — say, Win and Place in the same race, or Match Odds and Over/Under Goals in the same football match? Each market has its own triangle, but the markets share the same underlying reality. The constraints that link them create a richer, more complex shape.
That shape is called a polytope, and understanding it is the difference between spotting only the obvious arbs (implied probabilities summing to less than 1) and finding the hidden ones (markets that each look fine individually but are jointly impossible).
Convex Sets: Why Mixing Fair Things Stays Fair
The key property
Part 1 introduced the probability simplex — the triangle of valid probability distributions for a three-horse race. That triangle has a property worth naming: it is a convex set.
A set is convex if, whenever you pick any two points inside it, the entire straight line connecting them also lies inside. No dents, no holes, no horseshoe shapes.
Here's what this means in betting terms. Suppose two sharp punters each have a valid view of a race:
- Punter A thinks: Honeysuckle 50%, Energumene 30%, Sprinter Sacre 20%
- Punter B thinks: Honeysuckle 30%, Energumene 40%, Sprinter Sacre 30%
Both views are valid — they're non-negative and sum to 1. Now suppose you trust Punter A 60% and Punter B 40%. Your blended view is:
$$ 0.6 \times (0.50, 0.30, 0.20) + 0.4 \times (0.30, 0.40, 0.30) = (0.42, 0.34, 0.24) $$
This blended view is also valid: non-negative, sums to 1. Mixing two coherent opinions always produces a coherent opinion. That's convexity. You can never "average your way" into nonsense.
A convex combination
The blend above is a specific case of a convex combination: a weighted average where the weights are non-negative and sum to 1:
$$ \lambda_1 \mathbf{x}_1 + \lambda_2 \mathbf{x}_2 + \cdots + \lambda_k \mathbf{x}_k, \quad \lambda_i \geq 0, \quad \sum_i \lambda_i = 1 $$
Notice anything? The weights behave exactly like probabilities. This is not a coincidence — probability distributions are convex combinations of deterministic outcomes. The view "Honeysuckle 42%, Energumene 34%, Sprinter Sacre 24%" is a convex combination of the three certainties: "Honeysuckle wins," "Energumene wins," "Sprinter Sacre wins."
Why this matters practically. If every pricing model you build produces a point inside the simplex, and you combine models by taking weighted averages, the combined output is automatically inside the simplex too. You don't need to check or fix the combined probabilities — convexity guarantees they're valid.
The Convex Hull: Drawing the Boundary
Rubber band around the nails
The convex hull of a set of points is the smallest convex set that contains all of them. Visualise hammering nails into a board and stretching a rubber band around them. When you let go, the band snaps tight around the outermost nails. The region inside the band is the convex hull.
For a three-horse race, the "nails" are the three deterministic outcomes:
- $(1, 0, 0)$ — Honeysuckle wins for certain
- $(0, 1, 0)$ — Energumene wins for certain
- $(0, 0, 1)$ — Sprinter Sacre wins for certain
The rubber band snaps around them to form a triangle. Every point inside that triangle is a valid probability distribution — a convex combination of the three corners.
The corners are special
The three corners have a name: extreme points (or vertices). An extreme point is a point in the set that cannot be expressed as a mixture of two other distinct points in the set.
Think about it: the point $(1, 0, 0)$ — "Honeysuckle wins for certain" — cannot be written as a blend of two different valid distributions. Any blend of two distributions where at least one gives some probability to another horse would reduce Honeysuckle's probability below 1. You can only get to the corner by being at the corner.
The interior points are different. The point $(0.42, 0.34, 0.24)$ can be split into Punter A's view and Punter B's view (as we showed above), or into many other pairs. Interior points are blends; extreme points are pure.
Betting analogy. Think of extreme points as "absolute certainty" outcomes. They're the scenarios you need to prepare for — because every uncertain situation is just a weighted mixture of them. If your strategy works at every extreme point, it works everywhere.
From a Triangle to a Polytope
Adding more runners
With 3 runners, the shape is a triangle. With 4 runners (say Kauto Star, Denman, Big Buck's, and Tiger Roll), the shape is a tetrahedron — a three-dimensional pyramid with 4 corners, 6 edges, and 4 triangular faces:
| Runners | Shape | Corners | Edges | Faces |
|---|---|---|---|---|
| 2 | Line segment | 2 | 1 | — |
| 3 | Triangle | 3 | 3 | 3 edges |
| 4 | Tetrahedron | 4 | 6 | 4 triangles |
| 5 | 4-simplex | 5 | 10 | 10 triangles |
| $n$ | $(n{-}1)$-simplex | $n$ | $\binom{n}{2}$ | ... |
We can't visualise 5+ dimensions, but the mathematics works identically. The pattern is always a simplex — the simplest possible polytope in each dimension.
What is a polytope?
A polytope is a shape with flat sides and sharp corners — a triangle, a cube, a tetrahedron, or any higher-dimensional version. The probability simplex is one example, but polytopes can be much more complex.
The powerful insight is that every polytope can be described in two equivalent ways:
1. From the corners outward (V-representation). List all the extreme points (vertices) and take their convex hull:
$$ P = \text{conv}(v_1, v_2, \ldots, v_k) $$
"Here are all the extreme scenarios. Everything valid is a blend of them."
2. From the walls inward (H-representation). List a set of linear inequalities and intersect them:
$$ P = \{x : Ax \leq b\} $$
"Here are all the rules. Everything valid satisfies every rule."
Both descriptions define the same shape. The V-representation tells you what the extreme outcomes are. The H-representation tells you what constraints the prices must obey.
In a single win market, the V-representation is the list of "Horse $i$ wins" scenarios. The H-representation is the set of rules: each probability is non-negative, and they sum to 1. Simple. But for linked markets, both representations become much richer.
Faces and Facets: The Walls of the Shape
The boundary hierarchy
A polytope's boundary has structure. Just as a cube has corners (0-dimensional), edges (1-dimensional), and faces (2-dimensional), every polytope has a hierarchy:
| Name | Dimension | What it means in betting |
|---|---|---|
| Vertex | 0 | A single deterministic outcome |
| Edge | 1 | The line connecting two extreme outcomes |
| Face | varies | A flat piece of the boundary |
| Facet | $d - 1$ (one less than the polytope) | A wall — a single constraint held exactly tight |
Why facets matter most
Facets are the most important part of the boundary. Each facet corresponds to exactly one inequality in the H-representation — one rule that valid prices must satisfy.
When a set of implied probabilities sits exactly on a facet, one specific no-arbitrage condition is perfectly tight. The market is at the boundary of consistency — balanced on a knife edge. Push the prices slightly in the wrong direction, across the facet, and you've left the polytope. A guaranteed profit has appeared.
For a single-market simplex, the facets are the constraints "each probability is non-negative." Sitting on the facet $p_3 = 0$ means the third horse has zero chance of winning. If the implied probability goes negative (which can't literally happen on Betfair, but can happen conceptually when combining multiple markets), you've crossed the wall.
For linked markets, the facets include the cross-market consistency constraints — and these are where the hidden arbitrages hide.
The Marginal Polytope: Linking Two Markets
A football example
Consider Liverpool vs Manchester City. Betfair offers two markets:
Market 1: Match Odds — Home (H), Draw (D), Away (A) Market 2: Over/Under 2.5 Goals — Over (O), Under (U)
Each market has its own simplex. But the markets share the same match — the goals determine both the result and whether the total is over 2.5. They are linked.
The joint outcome space lists every combination that could actually happen:
| Scenario | Match result | Goals | Feature vector |
|---|---|---|---|
| $\omega_1$ | Home win | Over 2.5 | $(1,0,0,1,0)$ |
| $\omega_2$ | Home win | Under 2.5 | $(1,0,0,0,1)$ |
| $\omega_3$ | Draw | Over 2.5 | $(0,1,0,1,0)$ |
| $\omega_4$ | Draw | Under 2.5 | $(0,1,0,0,1)$ |
| $\omega_5$ | Away win | Over 2.5 | $(0,0,1,1,0)$ |
| $\omega_6$ | Away win | Under 2.5 | $(0,0,1,0,1)$ |
Each row is a vertex — a deterministic scenario. The marginal polytope is the convex hull of these 6 vertices. Any valid joint probability distribution assigns non-negative weights to these 6 scenarios (summing to 1), producing a point inside the polytope.
The implied probabilities from the exchange — $(\mu_H, \mu_D, \mu_A, \mu_O, \mu_U)$ — form a single point in 5-dimensional space. If that point is inside the marginal polytope, the two markets are consistent. If it's outside, they contradict each other, and a guaranteed profit exists.
When markets look fine individually but fail together
Here's the critical insight. Suppose Betfair shows:
- Match Odds: Liverpool 0.55, Draw 0.25, Man City 0.20
- Over 2.5 Goals: 0.70, Under 2.5 Goals: 0.30
Each market sums to 1.00. Individually, each is inside its own simplex. A naive check passes.
But are these jointly possible? You need to ask: is there some assignment of probabilities to the 6 joint scenarios that reproduces both sets of marginals?
Specifically, you need six numbers $p_1, \ldots, p_6 \geq 0$ summing to 1 such that:
$$ \begin{aligned} p_1 + p_2 &= 0.55 \quad (\text{Liverpool win}) \\ p_3 + p_4 &= 0.25 \quad (\text{Draw}) \\ p_5 + p_6 &= 0.20 \quad (\text{Man City win}) \\ p_1 + p_3 + p_5 &= 0.70 \quad (\text{Over 2.5}) \\ p_2 + p_4 + p_6 &= 0.30 \quad (\text{Under 2.5}) \end{aligned} $$
For this particular example, solutions exist (try $p_1 = 0.40, p_2 = 0.15, p_3 = 0.15, p_4 = 0.10, p_5 = 0.15, p_6 = 0.05$ — it works). The point is inside the polytope.
Now consider a more extreme case:
- Match Odds: Liverpool 0.90, Draw 0.05, Man City 0.05
- Under 0.5 Goals: 0.85, Over 0.5 Goals: 0.15
Each sums to 1. But if Liverpool win (90% of the time), at least one goal was scored, so Under 0.5 Goals is impossible when Liverpool win. The maximum probability of Under 0.5 Goals is at most $P(\text{Draw}) + P(\text{Man City}) = 0.10$. But the market says 0.85. The point is outside the marginal polytope. No valid joint distribution exists. There is a guaranteed profit.
The membership test
Polytope membership means asking: is a given point inside the shape or outside?
For a single market, the answer is instant — sum the implied probabilities. For linked markets, it requires checking whether the system of equations above has a valid solution. This is a linear program (LP). Modern solvers handle it in milliseconds. And when the LP says "no solution exists," it also provides a certificate of infeasibility — which, translated into betting language, is exactly the portfolio of bets that guarantees a profit.
The LP dual doesn't just tell you that an arbitrage exists. It tells you what the arbitrage is: which selections to back, which to lay, and how much.
Why It Gets Hard: The Exponential Explosion
For a single football match with two markets (3 × 2 outcomes), the marginal polytope has 6 vertices. Easy.
But real trading links many more markets. Consider a Saturday afternoon with 10 Premier League matches, each with Match Odds (3 outcomes):
| Matches | Joint outcomes | Status |
|---|---|---|
| 1 | 3 | Trivial |
| 2 | 9 | Easy |
| 5 | 243 | Fine |
| 10 | 59,049 | Getting heavy |
| 15 | 14,348,907 | Impossible to list |
For 10 matches, the polytope has nearly 60,000 vertices. You cannot enumerate them. You cannot visualise the shape. But you can still test membership and find arbitrages — using algorithms (integer programming, Frank–Wolfe methods) that exploit the structure of the polytope without ever listing all its corners.
These algorithms are the subject of later posts and chapters. The crucial point for now: the polytope framework defines exactly what "consistent" means across any number of linked markets, even when the shape is far too complex to visualise or enumerate.
The Takeaway
-
Convexity means mixing valid things stays valid. Blending two coherent probability assessments always produces a coherent one. The set of all coherent assessments — the probability simplex — is a convex set.
-
A polytope is a shape with flat walls and sharp corners. It can be described by its corners (extreme outcomes) or by its walls (constraints). Both give the same shape. Facets — the walls — correspond to no-arbitrage conditions.
-
The marginal polytope captures cross-market consistency. Each market has its own simplex, but linked markets share an underlying reality. The marginal polytope is the set of all implied probability vectors that are consistent with some joint distribution. If the exchange prices place you outside it, a guaranteed profit exists.
-
Membership testing is a linear program. For a single market, it's trivial. For linked markets, it requires a solver — but when the solver says "infeasible," the dual solution is your arbitrage trade.
Key Terms Introduced
| Term | Meaning |
|---|---|
| Convex set | A set where any blend of two points inside it is also inside |
| Convex combination | A weighted average with non-negative weights summing to 1 |
| Convex hull | The smallest convex set containing a given set of points — the rubber band |
| Extreme point (vertex) | A point that can't be split into a mixture of other points in the set |
| Polytope | A convex shape with flat sides and sharp corners |
| V-representation | Describing a polytope by listing its vertices |
| H-representation | Describing a polytope by listing its wall inequalities |
| Facet | A wall of the polytope — one no-arbitrage constraint |
| Marginal polytope | The shape of all jointly consistent probability vectors across linked markets |
| Membership test | Checking whether a point (implied probability vector) is inside the polytope |
References
-
Rockafellar, R. T. (1970). Convex Analysis. Princeton University Press. — The foundational treatment of convex sets, convex hulls, and extreme points.
-
Boyd, S. & Vandenberghe, L. (2004). Convex Optimization. Cambridge University Press. — Chapter 2 covers convex sets, the separating hyperplane theorem, and polytopes. Available free online.
-
Wainwright, M. J. & Jordan, M. I. (2008). "Graphical Models, Exponential Families, and Variational Inference." Foundations and Trends in Machine Learning, 1(1–2), 1–305. — The definitive reference on marginal polytopes. Shows that multi-market consistency is a polytope membership problem.
-
Abernethy, J., Chen, Y. & Vaughan, J. W. (2013). "Efficient Market Making via Convex Optimization, and a Connection to Online Learning." ACM Transactions on Economics and Computation, 1(2). — Connects marginal polytopes to automated market making in prediction markets.
-
de Finetti, B. (1931). "Sul significato soggettivo della probabilità." Fundamenta Mathematicae, 17, 298–329. — The Dutch book theorem: incoherent probabilities (points outside the polytope) allow guaranteed losses to be constructed against you.
-
Grünbaum, B. (2003). Convex Polytopes. 2nd ed. Springer. — The encyclopaedic reference on polytope theory — vertices, faces, facets, and the face lattice.