Stationarizing a non-linear model by hand is a tedious process that is better done by the computer.

Computing the equilibrium growth rates of a balanced growth model is complicated and will not be attempted here. We limit ourselves to replace non-stationary variables by their stationary counterpart as specified by the user.

Current restriction: for the time being we limit ourselves to stochastic trends integrated of order 1.

Simple example

Original model

Consider a model with two trends: a labor productivity trend $A_t$ and a nominal price trend $P_t$.

The model is the following (some equations are omitted):

\begin{eqnarray*}
Y_t &=& (A_t L_t)^\alpha K_{t-1}^\beta \\
A_t &=& (1+g_t)A_{t-1}\\
g_t &=& \rho\, g_{t-1}+e_t\\
P_t\,C_t &=& W_t\, L_t\\
P_t &=& (1+\pi_t) P_{t-1}\\
r_t &=& \rho (\pi_t - \bar{\pi}) \\
Y_t &=& C_t + I_t\\
K_t &=& (1-\delta)K_{t-1} + I_t^\frac{1}{\alpha+\beta}
\end{eqnarray*}

Stationarized model

We define stationarized variables by $\hat{Y}_t = Y_t/A_t^{\alpha+\beta}$, $\hat{C}_t = C_t/A_t^{\alpha+\beta}$, $\hat{I}_t = I_t/A_t^{\alpha+\beta}$, $\hat{K}_t = K_t/A_t$, $\hat{W}_t = W_t/(P_t A_t^{\alpha+\beta})$.

The equations of the stationarized model are:

\begin{eqnarray*}
\hat{Y}_t &=& L_t^\alpha (\hat{K}_{t-1}/(1+g_t))^\beta\\
g_t &=& \rho\, g_{t-1}+e_t \\
\hat{C}_t &=& \hat{W}_t\, L_t\\
r_t &=& \rho (\pi_t - \bar \pi) \\
\hat{Y}_t &=& \hat{C}_t + \hat{I}_t \\
\hat{K}_t &=& (1-\delta)\hat{K}_{t-1}+\hat{I}_t
\end{eqnarray*}

Note that the two trends $A_t$ and $P_t$ have disappeared from the model, along with their laws of motion.

Dynare syntax

Here is the proposed syntax for writing the original (non-stationary) model in Dynare:

var g, pie;
trend_var(growth_factor=1+g) A
trend_var(growth_factor=1+pie) P;
parameters alpha, beta, delta, rho, piebar;
var L, r;
var(deflator=A) K;
var(deflator=A^(alpha+beta)) Y C I;
var(deflator=P*A^(alpha+beta)) W;
varexo e;

model;
Y = (A*L)^alpha*K(-1)^beta;
g =rho*g(-1)+e;
P*C=W*L;
r =rho*(pie - piebar);
Y=C+I;
K=(1-delta)*K(-1)+I^(1/(alpha+beta));
//... and the last 3 equations
end;

Remarks:

Complete example

See fs2000_nonstationary.mod for a complete example using the cash-in-advance model of Schorfheide (2000).

Algorithm of transformation and test

Pobs/Pobs(-1)=1+pie;

And the trend of the observed variable must be declared with the trend keyword used for estimation:

trend (1+pie), P;