Tópicos sobre modelos DSGE en Dynare Modelos RBC Carlos Rojas Quiroz www.carlos-rojas-quiroz.weebly.com 11 de noviembre de 2017 Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 1 / 33
Contenido 1 Solución numérica Estado Estacionario Calibración Dynare Funciones Impulso-Respuesta linealizadas Log-linealización Funciones Impulso-Respuesta loglinealizadas Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 2 / 33
Solución numérica Ahora nos proponemos a solucionar el modelo mediante simulación numérica. Para ello utilizaremos el Dynare. Pero antes debemos determinar el estado estacionario del modelo y calibrar los parámetros estructurales. Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 3 / 33
El modelo Con las formas funcionales impuestas para la utilidad instantánea y la función de producción, tenemos: Condición intratemporal (oferta de trabajo): θ C t = Condición intertemporal del consumo: 1 C t = 1 θ (1 L t ) W t (1) β C t+1 (r t+1 + 1) (2) Demanda de trabajo: W t = α Y t L t (3) Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 4 / 33
El modelo Demanda de capital: r t + δ = (1 α) Y t K t (4) Demanda agregada: Oferta agregada: Evolución del capital: Y t = C t + I t + G t (5) Y t = Z t L t α K t 1 α (6) K t+1 = I t + (1 δ) K t (7) Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 5 / 33
El modelo Añadimos los dos procesos estocásticos para las variables exógenas: Productividad: Gasto Público: ln(z t ) = (1 ρ Z )ln(z ss ) + ρ Z ln(z t 1 ) + ɛ Z t (8) ln(g t ) = (1 ρ G )ln(g ss ) + ρ G ln(g t 1 ) + ɛ G t (9) Donde ɛ Z t N(0, σz 2 ) y ɛg t N(0, σg 2 ). Observe que procesos son distintos a lo considerado la clase pasada. Se debe al estado estacionario de G t, como veremos más adelante. Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 6 / 33
Estado Estacionario θ C = 1 θ (1 L)W (10) 1 β 1 = r (11) W = α Y L (12) r = (1 α) Y K δ (13) Y = C + I + G (14) Y = ZL α K 1 α (15) I = δk (16) Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 7 / 33
Estado Estacionario De la ecuación 11 y 13, se llega a: Que lleva a: 1 β 1 + δ = (1 α)y K K = (1 α)βy 1 β + βδ (17) (18) Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 8 / 33
Estado Estacionario Usando la ecuación 16 De 14 despejamos: C = I = (1 α)δβy 1 β + βδ (19) [ (1 α)βδ 1 1 β + βδ G ] Y (20) Y Además, despejando para L en la ecuación 10 y utilizando las ecuaciones 12 y 20, se llega a: L = 1 + 1 [ ] 1 (1 α)βδ 1 β+βδ G Y αz ( 1 θ ) θ (21) Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 9 / 33
Estado Estacionario Finalmente, combinamos la ecuación 15 con la ecuación 18 y 21 y se llega a: [ ] Y = Z 1 1 (1 α)β ( 1 α α ) α ] (22) ) 1 β + βδ 1 + [ 1 (1 α)βδ 1 β+βδ G Y αz ( 1 θ θ En cuanto a los procesos exógenos, asumimos: Z = 1 y G = G Y Y (23) Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 10 / 33
Calibración Consiste en imponer valores a los parámetros estructurales o profundos del modelo de acuerdo a ratios observados en la data económica, revisión de modelos similares o para obtener co-movimientos similares a los observados. En nuestro caso: Parámetros β = 0,99 θ = 0,36 α = 0,67 δ = 0,023 G Y = 0,155 ρ Z = 0,95 ρ G = 0,75 σ Z = 0,01 σ G = 0,01 Descripción Factor de descuento Importancia del consumo sobre renta total Importancia del factor trabajo en la FP Depreciación del capital físico Gasto Público/PBI Persistencia del choque de productividad Persistencia del choque de gasto público Desviación estándar, productividad Desviación estándar, gasto público Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 11 / 33
Calibración En el caso de la calibración de β, consideramos un ρ (tasa de descuento subjetiva intertemporal asociada al promedio de la tasa de interés de mercado) de 4 % anual. En frecuencia trimestral: (1 + 4 %) 0,25 1 %. Luego β = 1 1+ρ = 1 1,01 0,99. Para θ se asume un valor similar a lo utilizado en otros trabajos (notas de clase de Férnandez-Villaverde de UPenn). La depreciación es aproximadamente de 10 % anual. El ratio G Y es obtenido de las cuentas nacionales. Para el caso de los procesos exógenos, dado que son AR(1), debemos tener en cuenta las siguientes definiciones: EZ t = 0 EZ 2 t = σ2 Z 1 ρ 2 Z EZ t Z t 1 = ρ Z σ 2 Z 1 ρ 2 Z Lo mismo para G t. En nuestro caso asumismos valores del parámetro de persistencia bastante estándar. Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 12 / 33
Dynare Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 13 / 33
Introduciendo el modelo en Dynare Primer bloque: definir variables endógenas, variables exógenas y parámetros del modelo. v a r l a b c w r y kap i n n v z g ; p r e d e t e r m i n e d v a r i a b l e s kap ; v a r e x o e z e g ; p a r a m e t e r s a l p h a d e l t a b e t t a t h e t a r h o z r h o g z s s l a b s s r s s k a p s s w ss y s s c s s i n v s s g s s C Y I Y G Y ; En la medida de lo posible debemos evitar nombrar las variables y parámetros como funciones del Matlab o expresiones matemáticas (ejemplo son funciones beta o inversa, o nombres como i o pi). Si hay una variable predeterminada, podemos decirle al Dynare que la considere como tal, así no tendremos que laggearla manualmente. Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 14 / 33
Introduciendo el modelo en Dynare a l p h a = 1 0.33; d e l t a = 0. 0 2 3 ; b e t t a = 0. 9 9 ; t h e t a = 1 / 2. 7 5 ; r h o z = 0. 9 5 ; r h o g = 0. 7 5 ; z s s = 1 ; G Y = 0. 1 5 5 ; l a b s s = 1/((1 t h e t a ) /( a l p h a t h e t a z s s ) ((1 b e t t a+a l p h a b e t t a d e l t a ) /(1 b e t t a+b e t t a d e l t a ) G Y ) +1) ; y s s = z s s (((1 a l p h a ) b e t t a /(1 b e t t a+b e t t a d e l t a ) ) ˆ((1 a l p h a ) / a l p h a ) ) l a b s s ; w ss = a l p h a y s s / l a b s s ; k a p s s = (1 a l p h a ) b e t t a /(1 b e t t a+b e t t a d e l t a ) y s s ; i n v s s = d e l t a k a p s s ; r s s = (1 a l p h a ) y s s / k a p s s d e l t a ; c s s = ((1 b e t t a+a l p h a b e t t a d e l t a ) /(1 b e t t a+b e t t a d e l t a ) G Y ) y s s ; g s s = G Y y s s ; C Y = c s s / y s s ; I Y = i n v s s / y s s ; Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 15 / 33
Introduciendo el modelo en Dynare Segundo bloque: el modelo. model ; t h e t a / c =(1 t h e t a ) /((1 l a b ) w) ; 1/ c =b e t t a 1/ c (+1) (1+ r (+1) ) ; w =a l p h a y/ l a b ; r+d e l t a =(1 alpha ) y/kap ; y =c+i n n v+g ; kap (+1) =(1 d e l t a ) kap+i n n v ; y =z kapˆ(1 a l p h a ) l a b ˆ a l p h a ; log ( z ) =(1 r h o z ) log ( z s s ) + r h o z log ( z ( 1) ) + e z ; log ( g ) =(1 r h o g ) log ( g s s ) + r h o g log ( g( 1) ) + e g ; end ; Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 16 / 33
Introduciendo el modelo en Dynare Tercer bloque: el estado estacionario. s t e a d y s t a t e m o d e l ; l a b =l a b s s ; c =c s s ; w =w ss ; r =r s s ; y =y s s ; kap =k a p s s ; i n n v=i n v s s ; z =z s s ; g =g s s ; end ; Podríamos haber implementado el cálculo del estado estacionario directamente en este bloque. Esta vez obtamos por hacerlo en el segundo bloque y llamar a esos resultados. Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 17 / 33
Introduciendo el modelo en Dynare Cuarto bloque: definición de varianzas y otros comandos. s h o c k s ; v a r e z ; s t d e r r 0. 0 1 ; v a r e g ; s t d e r r 0. 0 1 ; end ; r e s i d ; s t e a d y ; check ; Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 18 / 33
Introduciendo el modelo en Dynare resid: muestra los residuos de las ecuaciones estáticas, dados los valores de estado estacionario. Deberían ser cero. steady: muestra el estado estacionario de cada una de las variables del modelo. Sirve para comprobación. check: muestra los valores propios del sistema. Para cumplir con las condiciones de Blanchard-Kahn (existencia, unicidad y estabilidad del equilibrio) se necesitan tantos valores propios mayores a uno en su módulo como variables forward looking del modelo. En nuestro caso hay dos: r t+1 y c t+1. Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 19 / 33
Introduciendo el modelo en Dynare Quinto bloque: comando de simulación estocástica s t o c h s i m u l ( o r d e r = 1) ; Donde se da inicio al proceso de simulación ordenándole al Dynare que linealice las ecuaciones correspondientes. Para grabar el modelo, debemos tener en cuenta la extensión que leerá el Dynare (.mod), y colocarla manualmente. Debemos ir a save as o Guardar como y una vez ahí tipear: RBC01. mod Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 20 / 33
Introduciendo el modelo en Dynare Una vez escrito el código del modelo, debemos escribir en el Command Window lo siguiente: addpath C: \ dynare \ 4. 4. 3 \ matlab cd G: \ Lambda\ Topicos DSGE\MODs La primera ĺınea llama al Dynare. Con la segunda damos la dirección de la carpeta donde se encuentra nuestro archivo.mod. OJO: Tener cuidado con nombres de carpetas que están separados. Si lo están (como en este caso), se necesita encerrar la dirección entre apóstrofes. Sino, no hay necesidad de ello. Luego, para que el modelo corra escribimos: dynare RBC01. mod Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 21 / 33
Funciones Impulso-Respuesta linealizadas Figura 1: IRF, choque de productividad Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 22 / 33
Funciones Impulso-Respuesta linealizadas Figura 2: IRF, choque de gasto público Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 23 / 33
Log-linealización Hasta ahora, sistema de ecuaciones no lineal. Log-linealización es método común para llevar un sistema no lineal a uno lineal. Por qué es ello necesario? Facilidad en el cómputo para modelos más grandes, pues evitas el cálculo del Estado Estacionario. OJO: El Dynare linealiza el modelo (no log-linealiza) y luego aplica el método de Blanchard-Kahn. Variables se interpretan como desviaciones respecto a su Estado Estacionario (interpretación económica: ciclos). Expansión de Taylor alrededor de x 0 φ(x) = [ φ(x 0) 0! + φ (x 0 ) 1! (x x 0 ) + φ (x 0 ) (x x 0 ) 2 +... 2!... + φ(n) (x 0 ) (x x 0 ) n ] n! Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 24 / 33
Linealización Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 25 / 33
Log-linealización (método de Uhlig) Sea la variable de interés ˆx t = lnx t lnx ss. Despejando x t = x ss e ˆxt. Dado ello, se aplica una expansión de Taylor de primer orden a la expresión e ˆxt : e ˆxt ˆxt=0 e ˆxt=0 + e ˆxt=0 (ˆx t 0) e ˆxt ˆxt=0 1 + ˆx t e ˆxt 1 + ˆx t Luego, x t = x ss (1 + ˆx t ). Despejando, ˆx t xt xss x ss. Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 26 / 33
Modelo log-linealizado Condición intratemporal (oferta de trabajo): Condición intertemporal del consumo: L 1 L ˆL t + Ĉ t = Ŵ t (24) Ĉ t = Ĉ t+1 (1 β)ˆr t+1 (25) Demanda de trabajo: Demanda de capital: Ŵ t = Ŷ t ˆL t (26) r ˆr t = (1 α) Y K (Ŷt ˆK t ) (27) Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 27 / 33
Modelo log-linealizado Demanda agregada: Ŷ t = C Y Ĉt + I Y Ît + G Y Ĝt (28) Oferta agregada: Ŷ t = Ẑ t + αˆl t + (1 α) ˆK t (29) Evolución del capital: ˆK t+1 = I K Ît + (1 δ) ˆK t (30) Procesos exógenos: Ẑ t = ρ Z Ẑ t 1 + ɛ Z t (31) Ĝ t = ρ G Ĝ t 1 + ɛ G t (32) Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 28 / 33
Modelo log-linealizado en Dynare Si queremos resolver un modelo log-lineal en Dynare tenemos dos posibilidades: Escribir el modelo no lineal con componentes exponenciales (para que el Dynare linealice, como en Uhlig). Log-linealizar el modelo manualmente e incorporarlo ya de forma lineal al computador. En el caso del primero, el beneficio que obtenemos es que podemos decirle al Dynare que aplique una expansión de Taylor de primer, segundo y hasta tercer orden. Esto es útil en el caso de comparaciones (rankings) de bienestar. Considerando ello, modificamos sólo el bloque 2 y el bloque 3: Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 29 / 33
Modelo log-linealizado en Dynare (1era forma) model ; t h e t a / exp ( c ) =(1 t h e t a ) /((1 exp ( l a b ) ) exp (w) ) ; 1/ exp ( c ) =b e t t a 1/ exp ( c (+1) ) (1+ exp ( r (+1) ) ) ; exp (w) =a l p h a exp ( y ) / exp ( l a b ) ; exp ( r )+d e l t a =(1 a l p h a ) exp ( y ) / exp ( kap ) ; exp ( y ) =exp ( c )+exp ( i n n v )+exp ( g ) ; exp ( kap (+1) ) =(1 d e l t a ) exp ( kap )+exp ( i n n v ) ; exp ( y ) =exp ( z ) exp ( kap ) ˆ(1 a l p h a ) exp ( l a b ) ˆ a l p h a ; z =(1 r h o z ) l o g ( z s s ) + r h o z z ( 1) + e z ; g =(1 r h o g ) l o g ( g s s ) + r h o g g( 1) + e g ; end ; s t e a d y s t a t e m o d e l ; l a b =l o g ( l a b s s ) ; c =l o g ( c s s ) ; w =l o g ( w s s ) ; r =l o g ( r s s ) ; y =l o g ( y s s ) ; kap =l o g ( k a p s s ) ; i n n v=l o g ( i n v s s ) ; z =l o g ( z s s ) ; g =l o g ( g s s ) ; end ; Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 30 / 33
Modelo log-linealizado en Dynare (2da forma) Necesitamos modificar el bloque 2 y eliminar el bloque 3. model ( l i n e a r ) ; w = ( l a b s s /(1 l a b s s ) ) l a b + c ; c = c (+1) (1 b e t t a ) r (+1) ; w = y l a b ; r s s r = (1 a l p h a ) y s s / k a p s s ( y kap ) ; y = C Y c + I Y i n n v + G Y g ; y = z + a l p h a l a b + (1 a l p h a ) kap ; kap (+1) = d e l t a i n n v + (1 d e l t a ) kap ; z = r h o z z ( 1) + e z ; g = r h o g g( 1) + e g ; end ; Note que despues de escribir model se añade (linear). Esto le indica al Dynare que el modelo ya es lineal. Las nuevas IRFs son similares en dinámica pero distintas en magnitud: IRF loglinealizada = IRF linealizada EE. Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 31 / 33
Funciones Impulso-Respuesta loglinealizadas Figura 3: IRF, choque de productividad Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 32 / 33
Funciones Impulso-Respuesta loglinealizadas Figura 4: IRF, choque de gasto público Carlos Rojas Quiroz Clase 2 11 de noviembre de 2017 33 / 33