Companion Page to "On approximating DSGE models by series expansions"

Companion page to

“On approximating DSGE models by series expansions”

by

Giovanni Lombardo

Abstract:

The existing literature on perturbation methods for dynamic stochastic general equilibrium models points out that the approximated solution can generate spurious unstable dynamics. Various ad-hoc techniques have been suggested in order to overcome this problem. In this paper we show that by applying series-expansion techniques, as suggested by the mathematical literature on perturbation methods for non-linear dynamical systems, generates solutions that are (globally) stable -- as long as the original system is locally stable, at any order of approximation. A feature not shared by the alternative high-order perturbation approaches discussed in the economic literature. This paper contributes to the existing literature in two ways. First, it points to the mathematical foundations of some of the ad-hoc remedies used in the literature (i.e. ``pruning'') for second-order approximations. Second, it offers a clear guide on how to proceed for orders larger than two. We compare the alternative perturbation techniques and highlight their properties.

A first version of this paper has appeared as ECB Working Paper No 1264

Here you can get the latest, and considerably revised, version.

Here you can get computer codes to apply this method [Need Mathematica and Matlab].

NB: To be able to use these computer codes, you have first to download Aruoba, Fernandez-Villaverde and Rubio-Ramirez code “perturbation_logs.nb”.

Furthermore, in order to use my computer codes to solve the Neo-Classical Growth Model, have to modify the model in “perturbation_logs.nb” so to have fixed labor supply (see my paper for details). The model section should look like.

utility = ( c ) 1 - τ / ( 1 - τ ) ; ⁢

uc = D [ utility , c ] /. { c → "->" ⅇ c } ; ⁢

ucp = D [ utility , c ] /. { c → "->" ⅇ cp } ; ⁢

f1 = uc - β * ucp * ( 1 + α * ⅇ zp * ( ⅇ kp ) α - 1 - δ ) ; ⁢

f3 = ⅇ c + ⅇ kp - ( 1 - δ ) ⁢ ⅇ k - ⅇ z * ( ⅇ k ) α ; ⁢

c = g1 [ k , z , σ ] ;

kp = h [ k , z , σ ] ; ⁢

zp = ρ * z + σ * ϵ ; ⁢

cp = g1 [ kp , zp , σ ] ; ⁢

F = { f1 , f3 } ;

The steady state should be modified accordingly. Furthermore should eliminate all references to the function g2, which referred to labor.