Nightly arXiv Build-off · Entry B

Line Drift: A Betting-Against-the-Null Detector

Two real conformal test martingales race in real time to detect a hidden regime shift in a binary outcome stream — "did the line quietly go stale after injury news and the book hasn't moved it yet?" Each tick, we compute a distribution-free conformal p-value from the full outcome history, then feed it to a betting function that multiplies a wealth process Mt. Under the null ("nothing changed"), wealth is a nonnegative martingale starting at 1 — by Ville's inequality, P(sup Mt ≥ 1/α) ≤ α, so crossing the line 1/α is a distribution-free, anytime-valid alarm. The naive bettor is a single fixed betting density run from t=1 (Vovk's original construction) — it has to drag its entire pre-shift history along, so it stays "diluted" for a while after the real change happens. The optimal bettor mixes over a class of betting densities and restarts a local martingale from every past candidate changepoint, keeping only the best-weighted one — this is the paper's actual fix for that dilution problem.
Grounded in: Bhattacharyya & Ramdas, "Change detection with conformal martingales: new optimal constructions, and suboptimality of existing methods", arXiv:2609.27179. Every number on this page is computed live from simulated draws — nothing here is fabricated or pre-scripted.

Scenario

Run

Monte Carlo verification

Run 30 fresh trials at the current shift settings to check, empirically, whether the optimal bettor really detects faster than the naive one on average — not just asserted.

Wealth process Mt (log scale) naive (single bet) optimal (mixture + restart) Ville threshold 1/α

Step
0 / 600
Naive wealth
1.00
Optimal wealth
1.00
True shift at
step 150
Naive alarm
—
Optimal alarm
—
Naive delay (post-shift)
—
Optimal delay (post-shift)
—
How this is actually computed (not animated fakery)

At step n, with outcomes X₁…Xₙ ∈ {0,1}, the conformal p-value is pₙ = (#{i ≤ n : Xᵢ < Xₙ} + λₙ·#{i ≤ n : Xᵢ = Xₙ}) / n, with λₙ ~ U(0,1) an independent randomizer (exactly Vovk's definition). Under the no-change null, p₁,…,pₙ are i.i.d. Uniform(0,1) for any fixed distribution — that's what makes the detector distribution-free.

A betting density fθ(p) = θ·pθ−1 on [0,1] integrates to 1, so fθ(pₙ) has mean 1 under the null — multiplying it in keeps the wealth process a martingale. The naive bettor uses one fixed θ, multiplying bets from t=1 onward: Sₜ = ∏ fθ(pⱼ). The optimal bettor mixes a small class of θ's (a discrete approximation of the paper's continuous prior Π) and, critically, restarts a fresh local product from every past index k, weighting each by a summable sequence wₖ: Zₜ = maxk≤t wₖ · meanθ ∏j=k…t fθ(pⱼ). Because Σwₖ ≤ 1, the combined process is still a valid nonnegative martingale/e-process, so Ville's inequality applies at the same threshold 1/α — but it no longer has to drag a long, uninformative pre-shift history through the product, which is exactly the "dilution" failure mode the paper proves afflicts the original single-start conformal test martingale.

Pre-shift, both wealth processes wander near 1 (sometimes decaying — that's the expected, correct behavior of a null martingale, not a bug) and rarely cross 20; post-shift, the optimal process typically crosses first because it isn't paying off old pre-shift debt. Run the Monte Carlo panel to check this empirically at your chosen shift size — it's computed from fresh random draws every time, not cached.