Markets coveredMatch OddsCorrect ScoreOver / UnderFirst HalfSecond Half
Statometrics
Model Library · Market microstructure and stochastic processes

Informed Trader Models (Glosten-Milgrom and Kyle)

Explains why the gap between back and lay prices exists: whoever offers prices must protect themselves against better-informed traders.

Advancedtradingin-playevaluation

In one sentence

Informed trader models show that anyone offering prices on both sides of a market must set a gap between them, because some of the people taking those prices know more than they do.

How it works

Imagine you leave offers on both sides of an in-play football Match Odds market: willing to lay at one price and back at another. Most people who take your prices are ordinary punters with no special knowledge. A few have faster pictures from the ground or better information. Every time one of them trades with you, you lose.

The Glosten-Milgrom model (1985) says you should treat each incoming bet as evidence. If someone backs, it is slightly more likely that the good news is true, so you should update your view and price the next bet accordingly. The gap between your two prices is the amount needed so that what you win from uninformed punters covers what you lose to informed ones.

Kyle's model (1985) takes a related angle: an informed trader hides among noisy orders and moves the price gradually. The key output is "Kyle's lambda", how far the price moves per pound traded, which is a measure of how much the market fears informed money.

The maths

Ask=E[V∣back],Bid=E[V∣lay]\text{Ask} = E[V \mid \text{back}], \qquad \text{Bid} = E[V \mid \text{lay}] P(high∣back)=P(back∣high) P(high)P(back)P(\text{high} \mid \text{back}) = \frac{P(\text{back} \mid \text{high}) \, P(\text{high})}{P(\text{back})} Δp=λ x\Delta p = \lambda \, x
  • V: the true probability of the outcome, unknown to the price-setter.
  • Ask: the probability you charge a backer (the inverse of the odds you offer them).
  • Bid: the probability implied by the odds you offer a layer.
  • "high": the state where the true probability is the higher value.
  • λ (Kyle's lambda): price change per unit of net order flow.
  • x: the net amount backed minus laid.

In plain English: price each side as if the next bet is a clue, because on average it is.

Worked betting example

In-play, the home team's true chance of winning is either 60% or 40% (illustrative), equally likely, so your starting estimate is 50%. You believe 20% of the money taking your prices is informed. Informed traders back when the truth is 60% and lay when it is 40%; everyone else backs or lays at random, half and half.

Chance of a back if the truth is 60%: 0.2 + 0.8 × 0.5 = 0.6. Chance of a back if the truth is 40%: 0.8 × 0.5 = 0.4.

After seeing a back, the chance the truth is 60%: (0.5 × 0.6) ÷ (0.5 × 0.6 + 0.5 × 0.4) = 0.6.

Fair price to charge a backer: 0.6 × 60% + 0.4 × 40% = 52%, which is odds of 1.923. The nearest ladder price that does not give value away is 1.92.

By symmetry, the fair price to a layer is 48%, odds of 2.083. You are backing against that layer, so round up to the next ladder price, 2.10, to avoid giving value away.

So even with no commission and no profit target, you need offers at about 1.92 and 2.10, some 13 ticks apart, just to break even against the informed 20%.

Where it's good

  • Understanding why in-play spreads widen after a goal, a red card or a penalty award: the share of informed traders jumps.
  • Setting your own spreads if you run a market-making bot.
  • Explaining why your unmatched bets tend to get filled at the worst moments.
  • Reading spreads: a wide gap between back and lay is often a sign of fear of informed money.

Limitations and pitfalls

  • You never know the true share of informed traders; the model's output depends heavily on that guess.
  • Real information is not a clean two-state world; there are many degrees of knowledge and speed.
  • The model ignores Betfair commission, inventory risk and competition from other price-setters, all of which change spreads.
  • Kyle's lambda shifts quickly around kick-off and goals, so estimate it over short, like-for-like windows.
  • These are models for understanding, not direct profit engines; most punters will never trade on them directly.

How to build it

  • Simulate the Glosten-Milgrom update with a few lines of numpy to see how spreads respond to the informed share.
  • Estimate Kyle's lambda by regressing price change on net traded volume with statsmodels, using Betfair Stream API data.
  • Tip: compare estimated lambda before and after scheduled information, such as team news, to see the model at work.
  • VPIN turns the same idea into a measurable warning signal.
  • Market making is the practical activity these models describe.
  • Bayes' theorem is the updating step at the heart of Glosten-Milgrom.
  • Market efficiency explains why informed money pushes prices towards the truth.
Learn it step by step
18+ only. Educational content, not financial or betting advice. Past results do not guarantee future returns. If gambling stops being fun, get free, confidential help at BeGambleAware.org.
Members