17th international conference on computing in …solution methods i for a deterministic, perfect...

47
17th International Conference on Computing in Economics and Finance Dynare Workshop: Introduction to Dynare. Michel Juillard June 28, 2011

Upload: others

Post on 04-Feb-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

17th International Conference on Computingin Economics and Finance

Dynare Workshop: Introduction to Dynare.

Michel Juillard

June 28, 2011

Page 2: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Workshop website

http://www.dynare.org/CEF2011

Page 3: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

DYNARE

1. computes the solution of deterministic models (arbitraryaccuracy),

2. computes first and second order approximation to solutionof stochastic models,

3. estimates (maximum likelihood or Bayesian approach)parameters of DSGE models,

4. computes optimal policy,5. performs global sensitivity analysis of a model,6. solves problems under partial information,7. estimates BVAR and Markov-Switching Baysian VAR

models.

Page 4: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

The general problem

Deterministic, perfect foresight, case:

f (yt+1, yt , yt−1,ut ) = 0

Stochastic case:

Et {f (yt+1, yt , yt−1,ut )} = 0

y : vector of endogenous variablesu : vector of exogenous shocks

Page 5: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Solution methods

I For a deterministic, perfect foresight, it is possible tocompute numerical trajectories for the endogenousvariables

I In a a stochastic framework, the unknowns are thedecision functions:

yt = g(yt−1,ut )

For a large class of DSGE models, DYNARE computesapproximated decision rules and transition equations by aperturbation method.

Page 6: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Computation of first order approximation

I Perturbation approach: recovering a Taylor expansion ofthe solution function from a Taylor expansion of the originalmodel.

I A first order approximation is nothing else than a standardsolution thru linearization.

I A first order approximation in terms of the logarithm of thevariables provides standard log-linearization.

Page 7: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

General model

Et {f (yt+1, yt , yt−1,ut )} = 0

E(ut ) = 0E(utu′t ) = Σu

E(utu′τ ) = 0 t 6= τ

y : vector of endogenous variablesu : vector of exogenous stochastic shocks

Page 8: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Timing assumptions

Et {f (yt+1, yt , yt−1,ut )} = 0

I shocks ut are observed at the beginning of period t ,I decisions affecting the current value of the variables yt , are

function ofI the previous state of the system, yt−1,I the shocks ut .

Page 9: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

The stochastic scale variable

Et {f (yt+1, yt , yt−1,ut )} = 0

I At period t , the only unknown stochastic variable is yt+1,and, implicitly, ut+1.

I We introduce the stochastic scale variable, σ and theauxiliary random variable, εt , such that

ut+1 = σεt+1

Page 10: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

The stochastic scale variable (continued)

E(εt ) = 0 (1)E(εtε

′t ) = Σε (2)

E(εtε′τ ) = 0 t 6= τ (3)

andΣu = σ2Σε

Page 11: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Remarks

Et {f (yt+1, yt , yt−1,ut )} = 0

I The exogenous shocks may appear only at the currentperiod

I There is no deterministic exogenous variablesI Not all variables are necessarily present with a lead and a

lagI Generalization to leads and lags on more than one period

(2nd order approximation requires a more complicatedalgorithm)

Page 12: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Solution function

yt = g(yt−1,ut , σ)

where σ is the stochastic scale of the model. If σ = 0, themodel is deterministic. For σ > 0, the model is stochastic.Under some conditions, the existence of g() function is provenvia an implicit function theorem. See H. Jin and K. Judd“Solving Dynamic Stochastic Models”(http://bucky.stanford.edu/papers/PerturbationMethodRatEx.pdf)

Page 13: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Solution function (continued)

Then,

yt+1 = g(yt ,ut+1, σ)

= g(g(yt−1,ut , σ),ut+1, σ)

F (yt−1,ut ,ut+1, σ)

= f (g(g(yt−1,ut , σ),ut+1, σ),g(yt−1,ut , σ), yt−1,ut )

Et {F (yt−1,ut , σεt+1, σ)} = 0

Page 14: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

The perturbation approach

I Obtain a Taylor expansion of the unkown solution functionin the neighborhood of a problem that we know how tosolve.

I The problem that we know how to solve is the deterministicsteady state.

I One obtains the Taylor expansion of the solution for theTaylor expansion of the original problem.

I One consider two different perturbations:1. points in the neighborhood from the steady sate,2. from a deterministic model towards a stochastic one (by

increasing σ from a zero value).

Page 15: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

The perturbation approach (continued)

I The Taylor approximation is taken with respect to yt−1, utand σ, the arguments of the solution function

yt = g(yt−1,ut , σ).

I At the deterministic steady state, all derivatives aredeterministic as well.

Page 16: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Steady state

A deterministic steady state, y , for the model satisfies

f (y , y , y ,0) = 0

A model can have several steady states, but only one of themwill be used for approximation.Furthermore,

y = g(y ,0,0)

Page 17: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

First order approximation

Around y :

Et

{F (1)(yt−1,ut , σεt+1, σ)

}=

Et

{f (y , y , y ,0) + fy+

(gy (gy y + guu + gσσ) + guσε

′ + gσσ)

+fy0 (gy y + guu + gσσ) + fy− y + fuu}

= 0

with y = yt−1 − y , u = ut , ε′ = εt+1, fy+ = ∂f∂yt+1

, fy0 = ∂f∂yt

,

fy− = ∂f∂yt−1

, fu = ∂f∂ut

, gy = ∂g∂yt−1

, gu = ∂g∂ut

, gσ = ∂g∂σ .

Page 18: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Taking the expectation

Et

{F (1)(yt−1,ut ,ut+1, σ)

}=

f (y , y , y ,0) + fy+ (gy (gy y + guu + gσσ) + gσσ)

+fy0 (gy y + guu + gσσ) + fy− y + fuu}

=(fy+gygy + fy0gy + fy−

)y + (fy+gygu + fy0gu + fu) u

+ (fy+gygσ + fy0gσ)σ

= 0

Page 19: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Recovering gy

(fy+gygy + fy0gy + fy−

)y = 0

Structural state space representation:[0 fy+I 0

] [I

gy

]gy y =

[−fy− −fy0

0 I

] [I

gy

]y

or [0 fy+I 0

] [yt − y

yt+1 − y

]=

[−fy− −fy0

0 I

] [yt−1 − yyt − y

]

Page 20: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Structural state space representation

Dxt+1 = Ext

with

xt+1 =

[yt − y

yt+1 − y

]xt =

[yt−1 − yyt − y

]I There are multiple solutions but we want a unique stable

one.I Problem when D is singular.

Page 21: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Real generalized Schur decomposition

Taking the real generalized Schur decomposition of the pencil< E ,D >:

D = QTZE = QSZ

with T , upper triangular, S quasi-upper triangular, Q′Q = I andZ ′Z = I.

Page 22: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Generalized eigenvalues

λi solvesλiDxi = Exi

For diagonal blocks on S of dimension 1 x 1:I Tii 6= 0: λi = Sii

Tii

I Tii = 0, Sii > 0: λ = +∞I Tii = 0, Sii < 0: λ = −∞I Tii = 0, Sii = 0: λ ∈ C

Page 23: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Applying the decomposition

D[

Igy

]gy y = E

[I

gy

]y[

T11 T120 T22

] [Z11 Z12Z21 Z22

] [I

gy

]gy y

=

[S11 S120 S22

] [Z11 Z12Z21 Z22

] [I

gy

]y

Page 24: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Selecting the stable trajectory

To exclude explosive trajectories, one imposes

Z21 + Z22gy = 0

gy = −Z−122 Z21

A unique stable trajectory exists if Z22 is non-singular: there areas many roots larger than one in modulus as there areforward–looking variables in the model (Blanchard and Kahncondition) and the rank condition is satisfied.

Page 25: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Recovering gu

fy+gygu + fy0gu + fu = 0

gu = − (fy+gy + fy0)−1 fu

Page 26: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Recovering gσ

fy+gygσ + fy0gσ = 0

gσ = 0

Yet another manifestation of the certainty equivalence propertyof first order approximation.

Page 27: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

First order approximated decision function

yt = y + gy y + guu

E {yt} = yΣy = gy Σyg′y + σ2guΣεg′u

The variance is solved for with an algorithm for Lyapunovequations or a doubling-algorithm.

Page 28: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Speed considerations

I eliminating static variable for first order approximationI using LAPACK function DGEES for reordered real

generalized Schur decomposition, compiled as MEX fileI computing theoretical moments analytically and not by

simulation

Page 29: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

A simple RBC model

Consider the following model of an economy.I Representative agent preferences

U =∞∑

t=1

(1

1 + ρ

)t−1

Et

[log (Ct )−

L1+γt

1 + γ

].

The household supplies labor and rents capital to thecorporate sector.

I Lt is labor servicesI ρ ∈ (0,∞) is the rate of time preferenceI γ ∈ (0,∞) is a labor supply parameter.I Ct is consumption,I wt is the real wage,I rt is the real rental rate

Page 30: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

RBC Model (continued)I The household faces the sequence of budget constraints

Kt = Kt−1 (1− δ) + wtLt + rtKt−1 − Ct ,

whereI Kt is capital at the end of periodI δ ∈ (0,1) is the rate of depreciation

I The production function is given by the expression

Yt = AtKαt−1

((1 + g)t Lt

)1−α

where g ∈ (0,∞) is the growth rate and α and β areparameters.

I At is a technology shock that follows the process

At = Aλt−1 exp (et ) ,

where et is an i.i.d. zero mean normally distributed errorwith standard deviation σ1 and λ ∈ (0,1) is a parameter.

Page 31: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

The household problem

Lagrangian

L = maxCt ,Lt ,Kt

∞∑t=1

(1

1 + ρ

)t−1

Et

[log (Ct )−

L1+γt

1 + γ

− µt (Kt − Kt−1 (1− δ)− wtLt − rtKt−1 + Ct )]

First order conditions

∂L∂Ct

=

(1

1 + ρ

)t−1( 1Ct− µt

)= 0

∂L∂Lt

=

(1

1 + ρ

)t−1 (Lγt − µtwt

)= 0

∂L∂Kt

= −(

11 + ρ

)t−1

µt +

(1

1 + ρ

)t

Et (µt+1(1− δ + rt )) = 0

Page 32: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

First order conditions

Eliminating the Lagrange multiplier, one obtains

Lγt =wt

Ct

1Ct

=1

1 + ρEt

(1

Ct+1(rt+1 + 1− δ)

)

Page 33: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

The firm problem

maxLt ,Kt−1

AtKαt−1

((1 + g)t Lt

)1−α− rtKt−1 − wtLt

First order conditions:

rt = αAtKα−1t−1

((1 + g)t Lt

)1−α

wt = (1− α)AtKαt−1

((1 + g)t

)1−αL−αt

Page 34: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Goods market equilibrium

Kt + Ct = Kt−1(1− δ) + AtKαt−1

((1 + g)t Lt

)1−α

Page 35: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Dynamic Equilibrium

1Ct

=1

1 + ρEt

(1

Ct+1(rt+1 + 1− δ)

)Lγt =

wt

Ct

rt = αAtKα−1t−1

((1 + g)t Lt

)1−α

wt = (1− α)AtKαt−1

((1 + g)t

)1−αL−αt

Kt + Ct = Kt−1(1− δ) + AtKαt−1

((1 + g)t Lt

)1−α

Page 36: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Existence of a balanced growth path

There must exist a growth rates gc and gk so that

(1 + gk )tK1 + (1 + gc)tC1 =

(1 + gk )t

1 + gKK1(1− δ) + A

((1 + gk )t

1 + gkK1

)α ((1 + g)t Lt

)1−α

So,gc = gc = g

Page 37: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Stationarized model

Let’s define

Ct = Ct/(1 + g)t

Kt = Kt/(1 + g)t

wt = wt/(1 + g)t

Page 38: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Stationarized model (continued)

1

Ct (1 + g)t=

11 + ρ

Et

(1

Ct+1(1 + g)(1 + g)t(rt+1 + 1− δ)

)

Lγt =wt (1 + g)t

Ct (1 + g)t

rt = αAt

(Kt−1

(1 + g)t

1 + g

)α−1 ((1 + g)tLt

)1−α

wt (1 + g)t = (1− α)At

(Kt−1

(1 + g)t

1 + g

)α ((1 + g)t

)1−αL−αt(

Kt + Ct

)(1 + g)t = Kt−1

(1 + g)t

1 + g(1− δ)

+ At

(Kt−1

(1 + g)t

1 + g

)α ((1 + g)tLt

)1−α

Page 39: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Stationarized model (continued)

1

Ct=

11 + ρ

Et

(1

Ct+1(1 + g)(rt+1 + 1− δ)

)

Lγt =wt

Ct

rt = αAt

(Kt−1

1 + g

)α−1

L1−αt

wt = (1− α)At

(Kt−1

1 + g

)αL−αt

Kt + Ct =Kt−1

1 + g(1− δ) + At

(Kt−1

1 + g

)αL1−α

t

Page 40: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Dynare implementation

var C K L w r A;varexo e;

parameters rho delta gamma alpha lambda g;

alpha = 0.33;delta = 0.1;rho = 0.03;lambda = 0.97;gamma = 0;g = 0.015;

Page 41: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Dynare implementation (continued)

model;1/C=1/(1+rho)*(1/(C(+1)*(1+g)))*(r(+1)+1-delta);L^gamma = w/C;r = alpha*A*(K(-1)/(1+g))^(alpha-1)*L^(1-alpha);w = (1-alpha)*A*(K(-1)/(1+g))^alpha*L^(-alpha);K+C = (K(-1)/(1+g))*(1-delta)

+A*(K(-1)/(1+g))^alpha*L^(1-alpha);log(A) = lambda*log(A(-1))+e;end;

Page 42: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Dynare implementation (continued)

steady_state_model;A = 1;r = (1+g)*(1+rho)+delta-1;L = ((1-alpha)/(r/alpha-delta-g))*r/alpha;K = (1+g)*(r/alpha)^(1/(alpha-1))*L;C = (1-delta)*K/(1+g)

+(K/(1+g))^alpha*L^(1-alpha)-K;w = C;end;

resid(1);

Page 43: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Dynare implementation (continued)

shocks;var e; stderr 0.01;end;

check;

stoch_simul(order=1);

Page 44: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Dating variables in Dynare

Dynare will automatically recognize predetermined andnon–predetermined variables, but you must observe a fewrules:

I period t variables are set during period t on the basis ofthe state of the system at period t − 1 and shocksobserved at the beginning of period t .

I therefor, stock variables must be on an end–of–periodbasis: investment of period t determines the capital stockat the end of period t .

Page 45: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Log–linearization

I Taking a log–linear approximation of a model is equivalentto take a linear approximation of a model with respect tothe logarithm of the variables.

I In practice, it is sufficient to replace all occurences ofvariable X with exp(LX ) where LX = log X .

I It is possible to make the substitution for some variablesand not anothers. You wouldn’t want to take a logapproximation of a variable whose steady state value isnegative . . .

I There is no evidence that log–linearization is moreaccurate than simple linearization. In a growth model, it isoften more natural to do a log–linearization.

Page 46: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

The role of the Dynare preprocessor

I the Dynare toolbox solves generic problemsI the parser reads your *.mod file and translates it in specific

Matlab filesI filename.m: main Matlab script for your modelI filename_static.m: static modelI filename_dynamic.m: dynamic modelI filename_steadystate.m: steady state model (fromsteady_state_model block)

Page 47: 17th International Conference on Computing in …Solution methods I For a deterministic, perfect foresight, it is possible to compute numerical trajectories for the endogenous variables

Writing your own *_steadystate.m file

I It is possible to write your own version of*_steadystate.m file.

I It is usefulI to mix analytical and numerical algorithmsI if you want to reset some parameter values during the

computation of the steady state.I WARNING: Dynare doesn’t check that the steady state

returned by your function solves the static model! You needto resid(1) explicitly.