Function: devig_multiplicative()
devig_multiplicative(
p_raw):number[]
Defined in: src/odds/math.ts:130
Vig removal by normalizing raw implied probabilities to sum to 1, order preserved
(py devig_multiplicative).
Parameters
p_raw
readonly number[]
Raw implied probabilities of every outcome of one market (e.g. from prob_from_american). An empty array returns an empty array.
Returns
number[]
A new array, p_raw[i] / sum(p_raw) for each outcome.
Throws
OddsZeroDivisionError When p_raw is non-empty and sums to 0.
Remarks
The sum is Python 3.12+ compensated (Neumaier) summation, so results match
sdv-py's sum() to ~1e-12. NaN inputs propagate NaN.
Example
import sdv from 'sportsdataverse';
sdv.odds.devig_multiplicative([0.6, 0.4347826086956522]); // [0.5798..., 0.4201...]