Академический Документы
Профессиональный Документы
Культура Документы
Introducci
on a Dynare
Instituto FMI
Diciembre 2012
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
1 / 29
Dynare
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
2 / 29
s.tct + kt = kt1
(zt lt )
ln zt = ln zt1 +
+ (1 ) kt1
utz
Note que para Dynare el capital debe estar definido al final del perodo. Por eso
entra como kt1 en la funci
on de producci
on.
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
3 / 29
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
4 / 29
L=
(1)
t (ln Ct + ln (1 lt )) + t kt1
(zt lt )
+ (1 ) kt1 Ct kt
t=0
(1)
t
t
Et
+ t (1 ) kt1 zt
lt
=0
(1 lt )
h
i
(1)
Et t+1 t+1 kt1 (zt+1 lt+1 )
+ (1 ) t t = 0
i
h
(1)
(zt lt )
+ (1 ) kt1 Ct kt = 0
Et kt1
Et [zt zt1 utz ] = 0
(1)
(2)
(3)
(4)
(5)
Dynare
Diciembre 2012
5 / 29
Paso 1: Continuacion...
1
kt1
(1)
Et
+
(1 )
zt
=0
(1 lt ) Ct
lt
"
!
#
1
lt+1 zt+1
1
Et
+ (1 )
=0
Ct+1
kt
Ct
h
i
(1)
Et kt1
(zt lt )
+ (1 ) kt1 Ct kt = 0
(6)
(7)
(8)
(9)
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
6 / 29
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
7 / 29
Paso 2: Continuacion...
El sistema no lineal de estado estacionario sera:
1
k
+ (1 )
z (1) = 0
(1 l) C
l
!
1
lz
1
+ (1 ) = 0
C
k
C
(1)
k (zl)
(10)
(11)
+ (1 ) k C k = 0
(12)
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
8 / 29
Paso 2: Continuacion...
k =
+f
(1 ) f1 z (1)
l = fk
(1)
C = (zf )
k
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
9 / 29
El listado de variables ex
ogenas
5
6
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
10 / 29
Paso 3: Continuacion
%%%%
%%%%
%%%%
%%%%
%%%%
Este c
odigo resuelve el modelo RBC tradicional
Escrito por Andr
es para los amigos de Centro America
Fecha de esta versi
on: 27 de Octubre de 2012
Tareas por hacer: Revisar el algebra estado estacionario
Mejorar la calibraci
on.
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
11 / 29
Paso 3: Continuacion...
(Andr
es Gonz
alez)
uz;
Dynare
Diciembre 2012
12 / 29
Paso 3: Explicacion
El comando model log-lineariza el modelo pero Dynare lo que sabe hacer es
linearizar. Al escribir
xt = exp ln xt
entonces al linearizar se estara log-lineariazando.
Ejemplo: Se quiere linearizar la ecuaci
on yt = ct + it :
y +
ct
it
yt
(y
)
=
c
+
(c
)
+
i
+
it i
t
t
yt yt =y
ct ct =c
it it =i
pero i = it i y en SS se tiene que y = c + i entonces
yt = ct + it
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
13 / 29
Paso 3: Continuacion...
Ahora si linearizamos
exp(ln yt ) = exp(ln ct ) + exp (ln it )
entonces
exp(ln yt )
exp(ln ct )
y +
(ln yt ln y ) = c +
(ln ct ln c)
ln yt ln yt =ln y
ln ct ln ct =ln c
exp(ln ct )
ln it ln i
+ i +
ln ct
ln it =ln i
definiendo i = ln it ln i entonces
y yt = cct + iit
que es distinto a la versi
on linearizada de la ecuaci
on.
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
14 / 29
)) + f)^-1;
steady;
check;
%%Resuelve y simula el modelo
stoch_simul(order=1,irf=50);
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
15 / 29
Continuacion..
Que hacen las instrucciones steady, check y stoch simul?
1
Steady;
1
steady(solve algo=0)
2
El comando check:
1
Calcula los valores propios del modelo linearizado alrededor del valor definido
en steady.
Una condici
on necesaria para que exista un u
nico equilibrio estable alrededor
del SS es que hayan tantos valores propios mayores a uno en modulo como el
numero de variables forward looking.
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
16 / 29
stoch simul
Esta funci
on resuelve el modelo usando los metodos de perturbacion:
Klein, P. (2000): Using the generalized Schur form to solve a multivariate linear rational expectations model, Journal of Economic Dynamics and Control, 24, 1405-1423.
Sims, C. A. (2002): Solving Linear Rational Expectations Models,
Computational Economics, 20, 1-20.
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
17 / 29
Dynare
Diciembre 2012
18 / 29
Intuicion de la solucion
Suponga que el modelo se define por las siguientes ecuaciones
xt = aEt xt+1 + zt
zt+1 = zt + t+1
siendo xt una variable end
ogena y zt la variable ex
ogena.
Para encontrar la soluci
on se iterara hacia adelante. Esto es,
xt = aEt xt+1 + zt
luego
xt
(Andr
es Gonz
alez)
X
aj Et zt+1
lm aj Et xt+j +
j
j=0
Dynare
Diciembre 2012
19 / 29
Continuacion...
donde Et zt+j = j zt entonces
xt = k zt
donde k =
Pk
i=0
1
(1 a)
y no existe si a = 1.
Cuando la soluci
on existe y se cumple lmk ak Et xt+k = 0 entonces esta es
u
nica.
Una caracterstica importante de la soluci
on es que las variables endogenas de hoy
dependen del flujo esperado y del comportamiento de las fuerzas exogenas en este
caso de zt .
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
20 / 29
Continuacion...
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
21 / 29
La instrucci
on model; end; cambia por la model(lineal); end;
El estado estacionario sera cero en este caso y por tanto las variables en SS
definidas dentro del comando initval; end; debe ser ceros.
t = Et t+1 + xt
xt = Et xt+1 +
it = t + xt + uti
donde = (1 ) (1 )/.
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
22 / 29
Dynare
Diciembre 2012
23 / 29
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
24 / 29
Ejemplo
Suponga el modelo
max
C0
s.t
E0
t u(Ct )
t=0
Kt + Ct Zt Kt1
+ (1 )Kt1
Et Zt Kt1 + (1 )Kt1 Kt Ct
= 0
para t = 0, . . . , .
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
25 / 29
Continuacion...
Suponga que conoce la trayectoria de zt para t = 0, . . . , T donde T es algun
perdo final. En este caso, el sistema de ecuaciones para t=1,\dots,T estara dado
por
u 0 (C0 ) + u 0 (C1 ) Z1 (K01 ) + (1 ) = 0
Z0 K1
+ (1 )K1 K0 C0 = 0
u 0 (C1 ) + u 0 (C2 ) Z2 (K11 ) + (1 ) = 0
Z0 K0 + (1 )K0 K1 C1 = 0
..
.
u 0 (CT ) + u 0 (CT +1 ) ZT +1 (KT1 ) + (1 ) = 0
ZT KT 1 + (1 )KT 1 KT CT = 0
Esta C.P:O se pueden resolver dado un valor inicial, uno final y/o la trajectoria de
las variables ex
ogenas.
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
26 / 29
Simul en Dynare
%%%
%%% Las var, varexo, parameter, model
%%% definidos como en el codigo del RCB
%%%
var ;
varexo ;
parameters ;
model(linear);
IGUAL RCB
end;
%% Suponemos que hay 1% de perdida del capital
initval;
z = zbar ;
k = (psi*((z*f)^(1-alpha)-delta)/((1-alpha)*( (1/f)^(alpha)*z^(1-alpha)
k = 0.99*k;
l = k*f;
c = ((z*f)^(1-alpha) - delta)*k;
k = log(k); l = log(l); c = log(c); z = log(z);
end;
endval;
z = zbar ;
k = (psi*((z*f)^(1-alpha)-delta)/((1-alpha)*( (1/f)^(alpha)*z^(1-alpha)
k = k;
l = k*f;
c = ((z*f)^(1-alpha) - delta)*k;
k = log(k); l = log(l); c = log(c); z = log(z);
end;
steady;
simul(periods=100);
(Andr
es Gonz
alez)
Dynare
)) + f)^-1;
)) + f)^-1;
Diciembre 2012
27 / 29
Simul en Dynare
%%%
%%% Las var, varexo, parameter, model
%%% definidos como en el codigo del RCB
%%%
var ;
varexo ;
parameters ;
model(linear);
IGUAL RCB
end;
initval;
z = zbar ;
k = (psi*((z*f)^(1-alpha)-delta)/((1-alpha)*( (1/f)^(alpha)*z^(1-alpha)
k = k;
l = k*f;
c = ((z*f)^(1-alpha) - delta)*k;
k = log(k); l = log(l); c = log(c); z = log(z);
end;
steady;
)) + f)^-1;
shocks;
var uz;
periods 6;
values 0.05;
end;
simul(periods=150);
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
28 / 29
FIN
(Andr
es Gonz
alez)
Dynare
Diciembre 2012
29 / 29