Time-Series Models for Financial Data › ARIMA Models: Handling Non-Stationarity

Michael BrenndoerferDecember 9, 20253 min read
Quantitative FinanceAll chapters
Part 8 of 15Econometrics and Statistical Modeling
Chapter 41Time-Series Models for Financial Data › ARIMA Models: Handling Non-Stationarity
Reading section 6 of 13 · ARIMA Models: Handling Non-Stationarity · 3 minSection 6 of 13 · 3 min

Book contents

Section 6 of 13 · 3 min read

Time-Series Models for Financial Data › ARIMA Models: Handling Non-StationarityOne section · Sections in this chapter6 / 13 ↓
Reading tools Definitions & inline links

Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.

Article links

Make inline references clickable

When the original series is non-stationary, such as asset prices or GDP, we can often achieve stationarity through differencing. Rather than modeling the original series directly, we model the changes. The ARIMA(p,d,q) model applies ARMA(p,q) to a dd-times differenced series, combining differencing to achieve stationarity with ARMA to model the resulting stationary dynamics.

The Differencing Operator

Define the difference operator ∇=1−L\nabla = 1 - L, which computes the change from one period to the next:

∇Yt=Yt−Yt−1\nabla Y_t = Y_t - Y_{t-1}

where:

  • ∇\nabla: difference operator
  • YtY_t: value at time tt
  • Yt−1Y_{t-1}: value at time t−1t-1

For financial prices, first differencing yields returns. If the original price series has a unit root (is I(1)), then returns will be stationary. Second differencing applies the operator twice:

∇2Yt=∇(∇Yt)=Yt−2Yt−1+Yt−2\nabla^2 Y_t = \nabla(\nabla Y_t) = Y_t - 2Y_{t-1} + Y_{t-2}

where:

  • ∇2Yt\nabla^2 Y_t: second difference of the series
  • YtY_t: value at time tt
  • Yt−1Y_{t-1}: value at time t−1t-1
  • Yt−2Y_{t-2}: value at time t−2t-2

Second differencing is occasionally needed for economic series with both a unit root and a time-varying trend, though over-differencing can introduce artificial patterns and should be avoided.

ARIMA(p,d,q) Specification

An ARIMA(p,d,q) model states that ∇dYt\nabla^d Y_t follows an ARMA(p,q). The integrated component handles the transformation to stationarity, while the ARMA component models the resulting stationary dynamics. We can express this using the difference operator or the lag operator explicitly:

Φ(L)∇dYt=c+Θ(L)εtΦ(L)(1−L)dYt=c+Θ(L)εt(substituting ∇=1−L)\begin{aligned} \Phi(L) \nabla^d Y_t &= c + \Theta(L) \varepsilon_t \\ \Phi(L)(1-L)^d Y_t &= c + \Theta(L) \varepsilon_t && \text{(substituting } \nabla = 1-L \text{)} \end{aligned}

where:

  • YtY_t: value of the series at time tt
  • ∇\nabla: difference operator
  • Φ(L)\Phi(L): AR polynomial
  • (1−L)d(1-L)^d: differencing operator of order dd
  • cc: constant term
  • Θ(L)\Theta(L): MA polynomial
  • εt\varepsilon_t: white noise error term

Common specifications include:

  • ARIMA(0,1,0): Random walk Yt=Yt−1+εtY_t = Y_{t-1} + \varepsilon_t
  • ARIMA(0,1,1): Random walk plus MA(1) on returns
  • ARIMA(1,1,0): AR(1) on returns (first differences)
  • ARIMA(1,1,1): ARMA(1,1) on returns

Drift in ARIMA Models

When d≥1d \geq 1, the constant cc induces a deterministic trend in the original series. For ARIMA(0,1,0) with constant:

Yt−Yt−1=c+εtY_t - Y_{t-1} = c + \varepsilon_t

where:

  • YtY_t: value of the series at time tt
  • Yt−1Y_{t-1}: value at time t−1t-1
  • cc: constant term (drift)
  • εt\varepsilon_t: white noise error term

This says that each period, the series increases by cc on average plus a random shock. Summing the increments from t=1t=1 to TT reveals the cumulative effect of the drift and shocks:

∑t=1T(Yt−Yt−1)=∑t=1T(c+εt)YT−Y0=cT+∑t=1Tεt(telescoping sum)YT=Y0+cT+∑t=1Tεt(rearrange)\begin{aligned} \sum_{t=1}^T (Y_t - Y_{t-1}) &= \sum_{t=1}^T (c + \varepsilon_t) \\ Y_T - Y_0 &= cT + \sum_{t=1}^T \varepsilon_t && \text{(telescoping sum)} \\ Y_T &= Y_0 + cT + \sum_{t=1}^T \varepsilon_t && \text{(rearrange)} \end{aligned}

where:

  • YTY_T: value at time TT
  • Y0Y_0: initial value
  • cTcT: deterministic trend component
  • ∑εt\sum \varepsilon_t: stochastic trend component

The term cTcT is a linear trend that grows steadily with time. The accumulated shocks ∑εt\sum \varepsilon_t form a stochastic trend that wanders randomly. This is the random walk with drift model, commonly used for log stock prices. It captures the empirical observation that stock prices tend to rise over time (positive drift) while exhibiting substantial random variation around this trend.