Quant Library · The machine layer · Any
Bayesian Online Changepoint Detector
Has this side actually changed, or is it a run of coins?
Adams and MacKay's run-length posterior on the residuals of a price, so the detector judges a side against what was expected of it rather than against its own recent form.
Inputs
3What it takes
| Name | Type | Units | Where it comes from |
|---|---|---|---|
| residuals | list of float | standard deviations | goal difference minus the pre-match expectation, standardised |
| hazard optional | float | 1/matches | your prior on how often a real change happens; 1/40 is the platform's |
| sigma optional | float | standard deviations | observation noise |
Outputs
3What it gives back
| Name | Type | Units | Notes |
|---|---|---|---|
| run_length_posterior | array | probability | |
| p_change_last_k | float for k in 3, 5, 10 | probability | |
| regime_mean | float | standard deviations |
Method
How it works
- Keep a distribution over the run length, the number of observations since the last change.
- 2 further steps in the licensed specification
Assumptions
- Residuals are normal around a piecewise-constant level. Heavy tails make the detector jumpy; the platform standardises first for that reason.
Limits
- It is a detector, not a forecast. It tells you a level has moved; it does not tell you where the level is going.
- 1 further limits in the licensed specification
In the package
- The full specification: inputs, method, assumptions and limits
- The validation panel as measured on the day of purchase
- A reference implementation extracted from the running source
- Perpetual commercial use for one entity
Reference modules:
- 1 module(s), named in the licensed specification and shipped in the package
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.