EdgeworthArena
Live dataSign in
Quant Library · Markets and staking · Any

Overround Removal

Four ways to turn quoted prices into probabilities, and the reason the choice matters.

Multiplicative, additive, power and Shin, with the same interface, so you can see how much of your edge is really a choice of method.

Inputs

What it takes

2
NameTypeUnitsWhere it comes from
oddslist of decimal pricesdecimalyour book or feed
method optionalstring-multiplicative, additive, power or shin
Outputs

What it gives back

3
NameTypeUnitsNotes
probabilitieslistprobability
overroundfloatfraction
insider_sharefloatfractionShin only
Method

How it works

  1. Multiplicative: divide each 1/o by their sum.
  2. Additive: subtract the same amount from each 1/o, which can go negative on long shots and is why the platform does not use it.
  3. Power: solve for k in Σ (1/oᵢ)^k = 1, which puts more of the margin on the outsiders.
  4. Shin: solve for the insider share z that makes the book fair, which is close to power in practice and has a story attached.
Assumptions
  • The margin is applied by the book in one of these shapes. No book publishes which, so this is a modelling choice you should test, not assume.
Limits
  • On a three-way book the methods differ by well under a point on the favourite and by up to a point on the outsider, which is exactly where model disagreements live.
Validation

What it was measured at

ok

Computed now on a three-way book of 1.65 / 3.9 / 5.5.

Overround4.4%
Favourite, across the four methods58.0% / 59.1% / 59.2% / 58.8%
Outsider, across the four methods17.4% / 16.7% / 16.8% / 16.9%
Spread on the outsider0.71 pointswhich is the size of edge people argue about
Shin's implied insider share2.23%
In the package
  • The specification above
  • The reference implementation
  • Perpetual commercial use

Reference modules:

  • edgeworth/markets/odds.py
Read this before you buy. The platform's own walk-forward tests say the closing line forecasts football better than these models do. What they give you is a coherent price for every market and match, before the market opens, with the band and the working attached. Any model here that has been beaten by something simpler says so in its limits, and the validation panel above is generated from the platform's result files rather than typed in.