escuela de verano de macroeconomíawebpersonal.uma.es/de/jtorres/pdf/ivm-2010-3.pdf3 equilibrio...

45
Escuela de Verano de Macroeconoma JosØ L. Torres Universidad de MÆlaga 21-25 junio 2010 JosØ L. Torres (Universidad de MÆlaga) Escuela de Verano de Macroeconoma 21-25 junio 2010 1 / 45

Upload: others

Post on 14-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

Escuela de Verano de Macroeconomía

José L. Torres

Universidad de Málaga

21-25 junio 2010

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 1 / 45

Page 2: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

Programa del curso

1 Introducción a la Macroeconomía Dinámica y Computacional. Ellenguaje MatLab

2 El modelo básico de equilibrio general dinámico.3 Equilibrio general computable: El algoritmo de Newton-Raphson.4 El pre-procesador Dynare para MatLab.5 Cuanti�cación de los efectos del IVA en España.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 2 / 45

Page 3: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.1. Equilibrio general computable

Modelos macroeconómicos actuales: Modelos de equilibrio generalcomputables.

Sólo bajo supuesos muy restrictivos tienen soluciones explícitas.

Tienen que ser resueltos en un ordenador.

Dos métodos para calcular los parámetros:

Econometría (Máxima-verosimilitud y Bayesiana).Calibración.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 3 / 45

Page 4: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.1. Equilibrio general computable

Los modelos EGDE tienen parámetros constantes y perturbacioens demedia cero.

Cambios esperados da lugar a respuestas anticipadoras por parte delos agentes.

Los cambios estructurales se representan como una variable exógenadeterminista.

Cambios no anticipados simplemente alteran el comportamiento delas variables pero no entran en las expectativas.

Cambios anticipados forman parte del conjunto de información enfunción del cual se toman las decisiones.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 4 / 45

Page 5: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.1. Equilibrio general computable

El procedimiento para resolver estos modelos contiene los siguientespasos:

Calcular las condiciones de primer orden, que junto con las condicionesde factibilidad nos van a caracterizar el equilibrio (este paso hay queresolverlo con papel y lápiz, por ahora).Calibrar los parámetros y calcular el Estado Estacionario.Log-linearizar las ecuaciones que caracterizan el equilibrio, con el objetode hacer estas ecuaciones aproximadamente lineales en términos de sulog-desviación respecto al Estado Estacionario.Resolver buscando los ceros.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 5 / 45

Page 6: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.1. Equilibrio general computable

Diferentes procedimientos para resolver numéricamente el sistema deecuaciones no lineales:

Algoritmo de Newton-Raphson.Programación dinámica: Método de la iteración de la función de valor.Aproximación lineal-cuadrática en torno al estado estacionario.Método de la perturbación.Método de la proyección.Método de las aproximaciones sucesivas.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 6 / 45

Page 7: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.1. Equilibrio general computable

Neesidad de utilizar algún tipo de lenguaje de programación:

GaussFortranMatlabOctave

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 7 / 45

Page 8: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.2. Equilibrio general computable en MatLab

Ejercicio 1: Cálculo del estado estacionario en MatLab: FicherosEE1.m, EE2.m, EE.m

Uso de la función "fsolve".

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 8 / 45

Page 9: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.2. Equilibrio general computable en MatLab

El modelo básico sin ocio con función de utilidad logarítmica vienedeterminado por las siguientes dos ecuaciones:

Ct = β�αK α�1

t + 1� δ�Ct�1

Kt+1 = (1� δ)Kt +K αt � Ct

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 9 / 45

Page 10: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.2. Equilibrio general computable en MatLab

Otra opción es convertirlo en una única ecuación despando elconsumo de la ecuación dinámica del capital y sustituyendo en laecuación dinámica del consumo. Tendríamos:

Ct = Kt+1 � (1� δ)Kt �K αt

Ct�1 = Kt � (1� δ)Kt�1 �K αt�1

y sustituyendo:

Kt+1 � (1� δ)Kt �K αt = β

�αK α�1

t + 1� δ�(Kt � (1� δ)Kt�1 �K α

t�1)

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 10 / 45

Page 11: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.2 Equilibrio general computable en MatLab

Ejercicio 2: Modelo básico en MatLab: Ficheros model1.m,model1cpo.m

Cálculo de una única ecuación dinámica de segundo grado para elcapital.

Función de utilidad logarítmica sin empleo.

Uso de la función "fsolve".

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 11 / 45

Page 12: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.2. Equilibrio general computable en MatLab

Ejercicio 3: Modelo básico en MatLab: Ficheros model2.m,model2cpo.m

Cálculo de dos ecuaciones dinámicas de primer grado para el capital yel consumo.

Función de utilidad logarítmica sin empleo.

Uso de la función "fsolve".

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 12 / 45

Page 13: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.2. Equilibrio general computable en MatLab

Podemos computar el modelo completo, incluyendo las condicionesdinámicas de primer grado para el capital y el consumo y la condiciónestática para la oferta de trabajo.

Función de utilidad con empleo.

La condición estática para el empleo sería:

1� γ

γ

CtNtH � Lt

= (1� α)K αt L�αt

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 13 / 45

Page 14: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.2. Equilibrio general computable en MatLab

Ejercicio 4: Modelo básico en MatLab: Ficheros model3.m,model3cpo.m

Cálculo de dos ecuaciones dinámicas de primer grado para el capital yel consumo y una ecuación estática para el empleo.

Función de utilidad con empleo.

Uso de la función "fsolve".

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 14 / 45

Page 15: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Al resolver el modelo otenemos un sistema de ecuaciones compuestopor las condiciones de primer orden y por las restricciones defactibilidad.

Tendremos n ecuaciones con n incógnitas: F : Rn �! Rn.

El problema consiste en encontrar un vector x̂ = (x̂1, ..., x̂n) de Rn talque su imagen por F : Rn �! Rn sea F (x̂) = 0.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 15 / 45

Page 16: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Necesitamos una solución inicial, x0. A esto se le llama la "semilla".Se debe usar la información que tengamos sobre F .

Debemos establecer un criterio de tolerancia. Valor mínimo demargen de error que consideramos aceptable.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 16 / 45

Page 17: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

El objetivo que se persigue es encontrar una solución, x , tal que F (x)sea igual a cero. Para ello partimos de desarrollar la serie de Taylor dela función para un determinado valor inicial xn:

F (x) = F (xn) + F 0(xn)(x � xn) +F 00(xn)2!

(x � xn)2 + ...

El procedimiento es iterativo y consiste en ir calculando la anteriorexpresión para las distintas aproximaciones resultantes. Esta expresiónla evaluaríamos para diferentes valores tal que:

F (xn+1) = F (xn) + F 0(xn)(xn+1 � xn) +F 00(xn)2!

(xn+1 � xn)2 + ...

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 17 / 45

Page 18: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

La solución vendría dada por el valor que hace que la expansión deTaylor sea igual a cero:

F (xn) + F 0(xn)(xn+1 � xn) +F 00(xn)2!

(xn+1 � xn)2 + ... = 0

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 18 / 45

Page 19: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Si truncamos la expansión de Taylor a partir del término de grado 2,obtenemos que:

F (xn) + F 0(xn)(xn+1 � xn) ' 0

La aproximación anterior es más exacta cuanto más cerca estemos dela solución. Despejando la solución obtenida resulta:

xn+1 = xn �F (xn)F 0(xn)

que es a lo que se denomina la fórmula de Newton-Raphson.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 19 / 45

Page 20: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

El algoritmo sería el siguiente. Comenzamos por un valor incicial dex0. La solución que obtendríamos de aplicar el algoritmo deNewton-Rapshon sería.

x1 = x0 �F (x0)F 0(x0)

Si F (x1) es cero el proceso �naliza.

Si F (x1) es diferente de cero entonces procedemos a una segundaiteración calculando:

x2 = x1 �F (x1)F 0(x1)

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 20 / 45

Page 21: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

De nuevo, si F (x2) es diferente de cero entonces procedemos a unatercera iteración calculando:

x3 = x2 �F (x2)F 0(x2)

y así, hasta que encontremos una solución tal que el valor de lafunción sea cero.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 21 / 45

Page 22: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Criterio de tolerancia. Este criterio determina en cuanto se puededesviar la solución del cero absoluto. En cada iteración podemoscalcular una aproximación al error relativo absoluto, que lo de�nomiscomo:

jεaj =�xn+1 � xn

xn

�� 100

Si jεaj es mayor que un valor �jado a priori, ε (la tolerancia), entoncesel algoritmo procede a realizar una nueva iteración. En el caso en elque el error relativo absoluto sea inferior al criterio de tolerancia, elalgoritmo �naliza, dado la última iteración la solución al mismo.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 22 / 45

Page 23: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Ejemplo: En el caso en que la ecuación que queramos resolver sealineal, el algoritmo de Newton-Rapson encuentra la solución de formadirecta, ya que el error que comete es cero. Supongamos quequeremos encontrar el cero para la siguiente función lineal:

F (x) = x � 2

Oviamente la solución a la anterior función es x = 2. Imaginemos queno lo sabemos y creemos que su valor debe ser 5, (x0 = 5). Siaplicamos el algoritmo de Newton-Rapshon entonces tendríamos que:

x1 = 5� 3 = 2

Evaluando la función para dicha solución resulta:

F (x0) = x0 �21= 2� 2 = 0

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 23 / 45

Page 24: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Ejemplo: Resolver la raiz cuadrada de un número y . Dado quex =

py , también podemos escribirlo como x2 = y . Esto signi�ca que

podemos resolver y encontrar los ceros para la siguiente función:

F (x) = x2 � y

Aplicando el algoritmo de Newton-Raphson otenemos que:

xi+1 = xi �x2i � y2xi

=2x2i � x2i + y

2xi=12

�xi +

yxi

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 24 / 45

Page 25: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Por ejemplo suponamos que y = 20. Entonces resulta quex =

p20 = 4, 47. Supongamos que no lo sabemos y hacemos una

apuesta inicial de que x0 = 3.

Aplicando el algoritmo de Newton-Raphson otenemos que:

x1 = x0 �x20 � y2x0

=12

�x0 +

yx0

�=12

�3+

203

�= 4, 83

En la siguiente iteración tenemos:

x2 =12

�x1 +

yx1

�=12

�4, 83+

204, 83

�= 4, 48

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 25 / 45

Page 26: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Normalmente nos vamos a encontrar con sistemas de ecuaciones.

Aproximación de la función a través de la primera expansión de Taylora la función F :

F (x) � F (x) + J(x)(x � x)donde J(x) es la matriz jacobiana de F evaluada en x :

J(x) =

2664F11(x) F12(x) ... F1n(x)F21(x) F22(x) ... F2n(x)... ... ... ...

Fn1(x) Fn1(x) ... Fnn(x)

3775donde Fij (x) =

∂Fi (x )∂xj

.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 26 / 45

Page 27: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Teorema de Taylor: Conforme x se acerca al valor x , los términos deorden mayor tienden a cero. Dado que estamos buscanco un cero dela ecuación F (x), la expresión anterior podemos evaluarla en x̂ yescribirla como:

x̂ � x � J(x)�1F (x)

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 27 / 45

Page 28: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

El algoritmo de Newton-Raphson funciona de la siguiente forma:

1. A partir de la semilla propuesta, x0, evaluamos la función F (x0) yJ�1(x0), para calcular:

x1 = x0 � J(x0)�1F (x0) (1)

2. Dado el nivel de tolerancia �jado, ε, calculamos la distancia entre x0 yx1. Si la distancia es inferior a ε, entonces nos quedamos con x0 comola solución. En caso contrario, volvemos a repetir el paso 1 pero conel valor x1, evaluando F (x1) y J�1(x1), para calcular:

x2 = x1 � J(x1)�1F (x1) (2)

3. Repetir el paso 2. Si la distancia es inferior al nivel de toleranciarepetir el paso 1, con el valor x2, evaluando F (x2) y J�1(x2), paracalcular:

x3 = x2 � J(x2)�1F (x2) (3)

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 28 / 45

Page 29: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

El algoritmo de Newton-Raphson tiene algunos problemas:

1 Si la semilla no es buena puede que no exista convergencia o queobtengamos otra solución, en el caso en que existan solucionesmúltiples.

2 Necesidad de disponer de expresiones analíticas de todas las derivadasparciales de F .

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 29 / 45

Page 30: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Ejemplo: Encontrar los ceros de la siguiente función:

F (x) = (x � 2)(x + 2)

Fácil: directamente x = 2 y x = �2.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 30 / 45

Page 31: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

% Ejemplo 1% Este programa resuelve la ecuación F(x)=(x-2)(x+2)clear all% Semillax(1)=-10;% Toleranciacrit=1e-20;% Número máximo de iteracionesmaxit=1000;for i=1:maxitJ(i) = 2*x(i);x(i+1) = x(i)-J(i)^(-1)*(x(i)-2)*(x(i)+2);if abs(x(i+1)-x(i))<crit; break; endendif i>=maxitsprintf(�Atención: Número máximo de %g iteracionesalcanzado�, maxit)endsprintf(�La solución es %g�, x(i))

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 31 / 45

Page 32: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Como podemos comprobar si comenzamos con una semilla negativa lasolución es x = �2, pero si ponemos una semilla positiva la soluciónes x = 2.

Por otra parte, construir el Jacobiano era muy fácil. Pero si tenemosuna función con un número de variables muy grande, construir elJacobiano es una tarea complicada. Para resolver este problemapodemos computar derivadas numéricas. A esto es lo que sedenomina el método de la secante.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 32 / 45

Page 33: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Vamos a ver como podemos obtener una aproximación numérica a lamatriz Jacobiana J(x).

De�nimos J(x) = [ J1(x) J2(x) � � � Jn(x) ] siendo Ji (x) elvector columna de las n derivadas parciales de la función F conrespecto a xi .

Sea h un valor muy pequeño. Entonces podemos usar la expansión deTaylor:

F (x1 + h1, x2, ..., xn) � F (x) + J1(x)h1F (x1, x2 + h2, ..., xn) � F (x) + J2(x)h2

...

F (x1, x2, ..., xn + hn) � F (x) + Jn(x)hn

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 33 / 45

Page 34: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Según la de�ción de derivada:

J1(x) = limh1�!o

F (x)� F (x1 + h1, x2, ..., xn)h1

J2(x) = limh1�!o

F (x)� F (x1, x2 + h2, ..., xn)h2

...

Jn(x) = limhn�!o

F (x)� F (x1, x2, ..., xn + hn)hn

donde Ji (x) es el vector columna con las n derivadas parciales conrespecto a xi .

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 34 / 45

Page 35: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Podemos aproximar en un ordenador derivadas parciales, �jando unincremento h lo su�cientemente pequeño (por el lado izquierdo) comopara escribir:

J1(x) � F (x)� F (x1 � h1, x2, ..., xn)h1

J2(x) � F (x)� F (x1, x2 � h2, ..., xn)h2

...

Jn(x) � F (x)� F (x1, x2, ..., xn � hn)hn

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 35 / 45

Page 36: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

También podemos aproximar numéricamente la matriz Jabobianausando la derivada por el lado derecho:

J1(x) � F (x1 + h1, x2, ..., xn)� F (x)h1

J2(x) � F (x1, x2 + h2, ..., xn)� F (x)h2

...

Jn(x) � F (x1, x2, ..., xn + hn)� F (x)hn

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 36 / 45

Page 37: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

De forma más precisa, podemos calcular la derivada tomando x comoel punto medio:

J1(x) � F (x1 + h1, x2, ..., xn)� F (x1 � h1, x2, ..., xn)2h1

J2(x) � F (x1, x2 + h2, ..., xn)� F (x1, x2 � h2, ..., xn)2h2

...

Jn(x) � F (x1, x2, ..., xn + hn)� F (x1, x2, ..., xn � hn)2hn

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 37 / 45

Page 38: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

% Ejemplo 2% Este programa resuelve la ecuación F(x)=(x-2)(x+2)perocon aproximaciones numéricasclear all% Semillax(1)=-10;% Toleranciacrit=1e-20;% Incrementoh=1e-8;% Número máximo de iteracionesmaxit=1000;for i=1:maxitJ(i) = 1/2*h*((x(i)+h-2)*(x(i)+h+2)-(x(i)-h-2)*(x(i)-h+2));x(i+1) = x(i)-J(i)^(-1)*(x(i)-2)*(x(i)+2);if abs(x(i+1)-x(i))<crit; break; endendif i>=maxitsprintf(�Atención: Número máximo de %g iteracionesalcanzado�, maxit)endsprintf(�La solución es %g�, x(i))

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 38 / 45

Page 39: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Volvamos a nuestro modelo teórico. En su versión más simpletenemos que resolver:

Ψ(Kt ,Kt+1,Kt+2) = 0

Podemos usar dos métodos:

Método del ShootingMétodo de Gauss-Seidel.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 39 / 45

Page 40: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Método del Shooting:Suponemos que la economía alcanza el estado estadionario en unnúmero �nito de T periodos, �jado arbitrariamente.Suponemos un valor inicial para K1, que denotamos K 01 e iniciamos laiteración inicial s = 0.Datos K0 y K s1 , calculamos K

s2 resolviendo:

Ψ(K0,K s1 ,Ks2 ) = 0

Continuamos calculando K s3 ,Ks4 , ...,K

sT resolviendo recursivamente:

Ψ(K s1 ,Ks2 ,K

s3 ) = 0

Ψ(K s2 ,Ks3 ,K

s4 ) = 0

...

Ψ(K sT�2,KsT�1,K

sT ) = 0

Evaluamos��K sT �K ��. Si esta distancia es mayor que el criterio de

tolerancia �jado repetimos el proceso con s = s + 1, �jando un nuevovalor para K1 (K

s+11 ). En caso contrario �naliza el proceso.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 40 / 45

Page 41: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

Método de Gauss-Seidel:Suponemos que la economía alcanza el estado estadionario en unnúmero �nito de T periodos, �jado arbitrariamente.Suponemos una senda inicial para la secuencia K 02 , ...K

0T e iniciamos la

iteración inicial s = 0.Datos K0 y K s2 , calculamos K

s+11 resolviendo:

Ψ(K0,K s+11 ,K s2 ) = 0

Continuamos calculando K s+12 ,K s+13 , ...,K s+1T resolviendorecursivamente:

Ψ(K s+11 ,K s+12 ,K s3 ) = 0

Ψ(K s+12 ,K s+13 ,K s4 ) = 0

...

Ψ(K s+1T�2,Ks+1T�1,K

sT ) = 0

Evaluamos��K sT �K ��. Si esta distancia es mayor que el criterio de

tolerancia �jado repetimos el proceso con s = s + 1, �jando un nuevovalor para K1 (K

s+11 ). En caso contrario �naliza el proceso.

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 41 / 45

Page 42: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

El algoritmo de Newton-Raphson o cualquier otro método iterativosimple tiene ciertas limitaciones para su aplicación práctica:

1 El proceso puede ser lento e ine�ciente cuando hay muchas variables,ya que habría que realizar una gran cantidad de iteraciones. Esteproblema cada vez tiene menos importancia por la mayor capacidad yvelocidad de los ordenadores.

2 Sólo pueden ser aplicados a modelos determinísticos. Para resolvermodelos estocásticos se necesitan otros métodos más complejos.

3 Las funciones objetivo tienen que ser continuas y diferenciales (no sepueden aplicar a decisiones discretas).

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 42 / 45

Page 43: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.3. El algoritmo de Newton-Raphson

El programa secant.m

function x=secant(func, x0, param, crit, maxit)del=diag(max(abs(x0)*1e-4, 1e-8));n=length(x0);for i=1:maxitf=feval(func,x0,param);for j=1:nJ(:,j)=(f-feval(func,x0-del(:,j),param))/del(j,j);endx=x0-inv(J)*f;if norm(x-x0)<crit; breakendnorm(x-x0);x0=x;endif i>=maxitsprintf(�Advertencia máximo número de %g iteracionesalcanzado�, maxit)end

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 43 / 45

Page 44: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.4. Programación dinámica: El método de iteración de lafunción de valor

De�nición del equilibrio en términos recursivos.

1 Ecuación de Belman:

v(x) = maxyfF (x , y) + βv(y)g

s.t. y 2 Γ(x)

2 Dada la función de valor, podemos de�nir la regla de decisión óptimag : X ! X como:

g(x) = argmaxyfF (x , y) + βv(y)g

s.t. y 2 Γ(x)

lo que da lugar a:

v(x) = F (x , g(x)) + βv(g(x))

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 44 / 45

Page 45: Escuela de Verano de Macroeconomíawebpersonal.uma.es/de/jtorres/pdf/IVM-2010-3.pdf3 Equilibrio general computable: El algoritmo de Newton-Raphson. 4 El pre-procesador Dynare para

3.5. El método de la aproximación lineal-cuadrática entorno al estado estacionario

Resolución del siguiente problema de optimización dinámica:

maxytE0

∑t=0

βt [xTt Rxt + 2yTt Wxt + y

Tt Qyt ]

s.t. xt+1 = Axt + Byt + εt+1

José L. Torres (Universidad de Málaga) Escuela de Verano de Macroeconomía 21-25 junio 2010 45 / 45