Computing the Beveridge-Nelson Decomposition


General discussion

Consider the unit root process with ARMP(p,q) errors

A(L)(1-L)(y(t)-c) = B(L)e(t) e(t) ~ iid(0,v)

The Wold form of the process is

(1-L)(y(t)-c) = A(L) -1 B(L)e(t) = C(L)e(t)

The BN decomposition of C(L) is

C(L) = C(1) + (1-L)C*(L)

where C*(L) is, in general, an infinite order moving average polynomial with coefficients given by

C*(j) = - sum (from k=j+1 to infinity) C(k)

Using this decomposition we can express the level of y(t) as

y(t) = TD(t) + TS(t) + C(t) = y(0) + ct + C(1) sum (from 1 to t) e(j) + e*(t) e*(t) = C*(L)e(t)

where TD(t) = y(0) + ct is the deterministic trend, TS(t) = sum (from 1 to t) e(j) is the stochastic trend and C(t) = e*(t) is the temporary or cyclical component.

An Example (Stock and Watson (1988) JEP)

Stock and Watson give an example of the BN decomposition for the natural logarithm of postwar US real GDP, y(t). They fit the following ARMA(0,1) model to (1-L)y(t):

(1-L)y(t) = 0.008 + e(t) + 0.3e(t-1), SE = 0.0106
The BN decomposition for this model is easily computed:

C(L) = 1 + 0.3L, C(1) = 1.3, C*(L) = -0.3

Therefore, the we can express the level of y(t) as

y(t) = y(0) + 0.008t + 1.3 sum (from 1 to t) e(t) - 0.3e(t)

Here the long-run impact of a permanent shock is 1.3 and the innovations to the stochastic trend and the temporary component are perfectly correlated.

Extracting the Permanent and Temporary Components

To extract the stochastic trend, TS(t), from the data the prediction errors, e(t), must be estimated from the data. In the Stock and Watson example the prediction errors can be extracted using the forecasting algorithm for an MA(1) model. The procedure is similar to the recursive procedure used to construct the conditional likelihood for the MA(1) model (see Hamilton chapter 4).

Let z(t) = (1-L)y(t) and assume e(0) = 0. Then z(1) = 0.008 + e(1) or, equivalently,

e(1) = z(1) - 0.008.

Next, we have z(2) = 0.008 + e(2) + 0.3*e(1). Using the previous expression for e(1) we get

e(2) = z(2) - 0.008 - 0.3(z(1) - 0.008)

Continuing in this fashion we get

e(t) = z(t) - 0.008 - 0.3(z(t-1) - 0.008) - (0.3)2(z(t-2) - 0.008) - ... - (0.3)t-1(z(1) - 0.008)

Notice that e(t) can be written as a linear combination of past values of z(t) = y(t) - y(t-1). This value of e(t) is then substituted into the formula for the BN decompositon which then allows us to extract the stochastic trend and cyclical component from the observed data.


[Home]