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:

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:

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:

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:

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


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

  1. Rockafellar, R. T. (1970). Convex Analysis. Princeton University Press. — The foundational treatment of convex sets, convex hulls, and extreme points.

  2. Boyd, S. & Vandenberghe, L. (2004). Convex Optimization. Cambridge University Press. — Chapter 2 covers convex sets, the separating hyperplane theorem, and polytopes. Available free online.

  3. 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.

  4. 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.

  5. 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.

  6. Grünbaum, B. (2003). Convex Polytopes. 2nd ed. Springer. — The encyclopaedic reference on polytope theory — vertices, faces, facets, and the face lattice.