Fit a level series with a defined equilibrium
Use an equally spaced series whose level has a plausible stable mean: for example, a spread constructed with a specified hedge ratio. Write x(t) = c + phi × x(t-1) + error(t), where future errors have conditional mean zero. When |phi| < 1, the model equilibrium is mu = c / (1 - phi). Iterating the equation gives E[x(t+k) - mu | x(t)] = phi^k × [x(t) - mu]. Stationary variance also requires suitable finite-variance innovations and initialization; a fitted coefficient alone is not a stationarity test.
- Regress current levels on lagged levels plus a constant. For N observations, use N - 1 aligned pairs: u = x[:-1] and v = x[1:]. Then phi_hat = Σ(u - u_bar)(v - v_bar) / Σ(u - u_bar)^2, and c_hat = v_bar - phi_hat × u_bar.
- Subtracting u from v gives Δx(t) = c + beta × x(t-1) + error(t), with beta = phi - 1. The two OLS fits agree only when they use the same rows, intercept policy and weights. A negative beta alone is insufficient: beta = -2.2 implies phi = -1.2, an explosive alternating response.
- The intercept is a per-step offset, not the equilibrium mean. Setting c to zero forces the equilibrium to zero. Demeaning by an estimated full-sample mean also uses estimated information; it does not make the equilibrium known in advance.
- Specify raw levels, log levels or a spread before fitting. A half-life fitted to returns concerns return persistence, not convergence of the price level. A rolling z-score or changing hedge ratio changes the series being modeled.