SAQRID

SVNexus · Regimes

Change-point detection (BOCPD)

Also called: BOCPD, Bayesian online changepoint detection, structural break detection

Change-point detection finds dates where a series' behavior shifts; Bayesian online change-point detection (BOCPD) tracks the current regime's age.

Definition

Change-point detection identifies times at which the statistical properties of a series, such as its mean or variance, change abruptly. Bayesian online change-point detection (BOCPD), introduced by Adams and MacKay in 2007, does this sequentially as each new observation arrives.

BOCPD tracks the "run length", the time since the last change point, and maintains a full probability distribution over it.

Intuition

After a shock, older data may no longer describe the market. A change-point method asks, at every step, whether the newest observations are better explained by the current regime continuing or by a fresh regime that started recently.

When the probability mass on a short run length jumps, the model is saying that the recent data look unlike what came before. That makes BOCPD useful for resetting volatility estimates, flagging structural breaks, and segmenting history.

How it's calculated

With run length rt, a hazard function H (the prior probability of a change at each step, often constant 1/λ), and an observation model π giving the probability of the next value given the data in the current run:

Growth: P(rt = rt−1 + 1, x1:t) = P(rt−1, x1:t−1) · π(xt | rt−1) · (1 − H)

Change: P(rt = 0, x1:t) = Σrt−1 P(rt−1, x1:t−1) · π(xt | rt−1) · H

Normalizing gives the posterior P(rt | x1:t). With conjugate models (for example a normal model with unknown mean and variance) π is a closed-form Student-t, and the run-length distribution can be pruned to keep computation bounded. Offline alternatives include CUSUM tests and penalized-likelihood segmentation such as PELT.

How to read it

A sharp rise in the probability that the run length is short marks a likely change point. The expected hazard sets sensitivity: a higher hazard finds more breaks, including spurious ones.

Use returns or volatility series rather than price levels, and choose the observation model to match the change you care about; a model of the mean will miss pure variance shifts.

Common mistakes

  • Setting the hazard rate without checking how many breaks it implies per year.
  • Running on raw prices, where trends look like constant change.
  • Ignoring fat tails; a single outlier can look like a change point under a normal model.
  • Assuming detected breaks have an economic cause without checking.

In Saqrid

SVNexus detects regime breaks and bubble-like behavior per asset with change-point and explosive-root tests.

Go deeper

Saqrid Institute lesson: Regime Detection: BOCPD, Hurst & Bubble Tests. Lesson text is open to read without an account.

← All terms