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
2What it takes
| Name | Type | Units | Where it comes from |
|---|---|---|---|
| odds | list of decimal prices | decimal | your book or feed |
| method optional | string | - | multiplicative, additive, power or shin |
Outputs
3What it gives back
| Name | Type | Units | Notes |
|---|---|---|---|
| probabilities | list | probability | |
| overround | float | fraction | |
| insider_share | float | fraction | Shin only |
Method
How it works
- Multiplicative: divide each 1/o by their sum.
- 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.
- Power: solve for k in Σ (1/oᵢ)^k = 1, which puts more of the margin on the outsiders.
- 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.
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.