Download Documento completo - Banco Central del Ecuador

Document related concepts

Análisis de componentes principales wikipedia , lookup

Transcript
NOTA TÉCNICA 41
Preparada por
Roberto Ayala
RESOLUCIÓN DE MODELOS MACROECONÓMICOS DINÁMICOS
APLICANDO EL MÉTODO DE APROXIMACIÓN LINEALCUADRÁTICA
"To assume stability [...] under alternative policy rules is thus to assume
that agents´ views about the behavior of shocks to the system are
invariant under changes in the true behavior of these shocks. Without
this extreme assumption, the kinds of policy simulations called for by the
theory of economic policy are meaningless"
Robert E. Lucas, Jr. (1976)
1. Introducción
La distinción entre macroeconomía y micro-economía como temas de estudio separados
tuvo lugar a partir de 1930 con la publicación de la "Teoría General del Empleo, el
Interés y el Dinero" de John Maynard Keynes. En esta obra, Keynes intentó explicar el
funcionamiento de la economía aplicando métodos muy diferentes a aquellos utilizados
por los economistas de su época. Posteriormente, J.R. Hicks (1937) resumió las teorías
keynesiana y neoclásica en el modelo IS-LM que constituyó el marco alrededor del cual
se desarrolló la macroeconomía en los años cincuenta y sesenta. A esta manera de hacer
análisis económico se la conoce como la síntesis neoclásica o la macroeconomía
tradicional.
A fines de la década de los sesenta, los trabajos realizados independientemente por
Friedman (1968) de la Universidad de Chicago y Phelps (1967) de la Universidad de
Pennsylvania cuestionaron seriamente la síntesis neoclásica. El impacto generado a
inicios de los años setenta por el resurgimiento de las expectativas racionales y por la
crítica econométrica de Lucas (1976) contra la escasa fundamentación microeconómica
de los modelos tradicionales, dio lugar a un replanteamiento de la forma en que se hacía
macroeconomía hasta esa época. La economía comenzó a unificarse nuevamente al
reconocer que los métodos que se usaban para estudiar la conducta de los consumidores
y productores individuales en los mercados debía también ser utilizada para estudiar el
comporta-miento de la economía en su conjunto.
El aporte más importante de estas críticas es el cambio radical y duradero que
produjeron en la forma de hacer teoría macroeconómica. Es en este contexto que surge
la nueva macroeconomía clásica que usa como principio guía el supuesto de que los
agentes económicos actúan racionalmente. Aunque la intención original de este nuevo
enfoque fue explicar por qué el dinero era no neutral y en particular, por qué los shock
monetarios tenían un rol importante en los ciclos de negocios, desde fines de los setenta
e inicios de los ochenta, el énfasis de los nuevos macroeconomistas clásicos se trasladó
de los shock monetarios a los shock reales como fuente de explicación de los ciclos de
negocios. Así surgen los llamados modelos de ciclos reales de negocios (RBC).
Los modelos de RBC ponen énfasis en los shock tecnológicos como fuerza impulsora
central de la economía, pero dejando un papel importante para los elementos dinámicos
que influyen sobre la manera en que estos shock se propagan. Como señala Barro
(1989 :4), se trata de
"...modelos en equilibrio, con mercados competitivos que se vacían, agentes
optimizadores que son típicamente modelados como hogares representativos con
horizonte infinito y con funciones de producción neoclásicas que están sujetas a
shock estocásticos... Los resultados que generan estos modelos son, en general,
Pareto óptimos. Por lo tanto, demuestran que las fluctuaciones observadas en la
actividad de negocios agregada son una razón insuficiente para justificar una
intervención del gobierno en la forma de políticas de estabilización. Los
modelos pueden extenderse sin embargo, para incluir externalidades generadas
por bienes públicos, e impuestos. En estos últimos casos, los resultados no son
generalmente Pareto óptimos. Pero las distorsiones son del tipo clásico en vez
del tipo keynesiano –esto es, se refieren a triángulos antes que a brechas-. Por lo
tanto, el tipo de política deseable en estos modelos toma más de la teoría de
finanzas públicas antes que de la macroeconomía tradicional".
Como lo señala Cueva (1996 :38), los modelos de RBC "...parten de un modelo
neoclásico de crecimiento óptimo, en el que las decisiones de los distintos agentes
económicos se deducen de un comportamiento de optimización intertemporal. En este
sentido, se logra dar un fundamento microeconómico explícito al conjunto del modelo".
En términos generales, un modelo de RBC considera una economía compuesta por un
número de agentes representativos con vida infinita, cada uno de los cuales actúa en el
tiempo t maximizando la siguiente expresión :
(1) Et
b
t
r (Xt, Ut)
donde r (· ) es la función objetivo, Xt es un vector de variables de estado de dimensión
m x 1, Ut es un vector de variables de control de dimensión n x 1, b es el factor de
descuento (0 <b <1) y Et es el operador de esperanza matemática condicionada a la
información disponible en el período t.
La maximización se la realiza sujeta a una ley de movimiento de las variables de estado,
dada por la siguiente ecuación :
(2) Xt+1 = g (Xt, Ut, e t+1)
donde e t es un vector de variables aleatorias con media 0 y matriz de varianzacovarianza S . El objetivo es obtener funciones de política de la forma Ut = h (Xt ) que
sean invariantes en el tiempo y por lo tanto, robustas a la crítica de Lucas. La solución a
estos modelos no siempre tiene una forma analítica. Pero puede obtenerse una
aproximación, asignar valores a los parámetros y llevar a cabo simulaciones estocásticas
que sirvan para caracterizar las propiedades cíclicas del modelo.
Esto es precisamente lo que hacen Kydland y Prescott (1982), quienes fueron los
primeros en demostrar una correspondencia cuantitativa entre las implicaciones del
modelo teórico y las fluctuaciones de los ciclos de negocios que se producían en la
realidad. McCallum (1989:24) considera que ello fue "...quizás el más grande estímulo
para el análisis de los modelos de RBC".
El método utilizado por Kydland y Prescott es la aproximación lineal-cuadrática (LQ)
que Quiroz et al (1991) aplican para el caso de las economías boliviana, chilena y
peruana. El propósito de esta nota es estrictamente didáctico. En la siguiente sección se
hace una descripción general del método LQ que se complementa con una aplicación a
un modelo sencillo de RBC en la sección 3. Utilizando datos reales se replica una
matriz de momentos que describen las regularidades empíricas de la economía
ecuatoriana en la sección 4. La sección 5 concluye.
2. Descripción de la metodología
Un modelo de RBC plantea un problema matemático de optimización restringida que
puede resolverse mediante el uso de programación dinámica. La función objetivo
(ecuación (1)) y las restricciones (ecuación (2)) pueden adoptar un conjunto de formas
que permitan, en muchos casos, obtener soluciones analíticas para este tipo de
problemas. Así, por ejemplo, se pueden obtener soluciones analíticas si se tienen
funciones objetivo cuadráticas y restricciones lineales o de tipo Cobb-Douglas. Cuando
esto no es posible, es necesario utilizar métodos numéricos que permitan hallar una
solución a estos problemas.
Esta sección describe uno de esos métodos que se conoce como la aproximación lineal
cuadrática (LQ). El objetivo de este método es convertir a la función objetivo, que
originalmente puede ser no lineal, en una función cuadrática utilizando para ello una
expansión de Taylor de segundo orden. De manera similar, las restricciones se
convierten en lineales a partir de una aproximación de Taylor de primer orden.
Adicionalmente, se aplica el principio de equivalencia cierta que establece que la gente
toma decisiones bajo incertidumbre actuando como si las variables estocásticas que se
van a realizar en el futuro adoptasen el valor de su media condicional. Esto implica que
la función óptima de política es independiente de la matriz de varianza-covarianza de
los residuos.
El primer paso es encontrar el estado estacionario de una versión determinística de este
modelo. Esto es, el agente representativo maximiza la siguiente función objetivo:
b
t
r (Xt, Ut)
sujeto a :
(3) Xt+1 = g (Xt, Ut, 0 ).
Puesto que se trata de una versión no estocástica del modelo, se ha reemplazado e t+1 por
0 en la ecuación (3). Resolviendo este problema mediante el uso del cálculo de
variaciones se construye la siguiente función lagrangiana:
L=
b
t
{ r (Xt, Ut) - l t+1´ [ Xt+1 - g (Xt, Ut)] }.
Donde l t es un vector de multiplicadores de dimensión m x 1. Las condiciones de
primer orden están dadas por el siguiente sistema de ecuaciones:
Ut :
Xt+1 :
l t+1 : Xt+1 - g
(Xt, Ut) = 0
A partir de este sistema de ecuaciones podemos obtener las soluciones de estado
estacionario que vienen dadas por los vectores l * , X* , y U*.
El segundo paso consiste en linealizar las restricciones en torno al estado estacionario.
Esto es,
Xt+1 = g (Xt, Ut, e t+1) @ A Xt + B Ut + C e t+1
donde A es una matriz de coeficientes de dimensión m x m, B es una matriz de
coeficientes de dimensión m x n y C es la descomposición de Cholesky de S .
El tercer paso es formar una función objetivo cuadrática en torno al estado estacionario.
A partir de una expansión de Taylor de segundo orden se obtiene la siguiente expresión:
r (Xt, Ut) @ Xt´ Q Xt + Ut´ R Ut + 2 Xt´ W Ut
donde Q es una matriz cuadrada de dimensión m+1 definida de la siguiente manera:
(4)
siendo :
(5) q = 2 r (X *, U*) + X *´ rXX X * - 2 rX´ X * - 2 rU´ U * + U *´ rUU U * + X * ´ rXU U *
(6) R =
(7)
El cuarto paso consiste en encontrar la función de política. Dado que la función objetivo
es cuadrática y la restricción es lineal, la función de política será lineal y tendrá la
siguiente forma:
Ut = - F Xt
donde:
(8) F = (R + Br´P Br)- 1 Br´P Ar + R- 1 W´
(9) Ar =
(10) Br =
(A- B R- 1 W´)
B
(11) Qr = Q - W R- 1 W´
(12) Pt = Qr + Ar´ Pt-1 Ar - Ar´ Pt-1 Br (R + Br´ Pt-1 Br )- 1 Br´ Pt-1 Ar
Esta última ecuación se denomina ecuación matricial de Ricatti que se resuelve
iterativamente tomando como P0 a cualquier matriz negativa semidefinida. Una vez
encontrada la función de política, se la reemplaza en la restricción linealizada y se
obtiene:
Xt+1 @ A Xt - BF Xt + C e t+1 = (A - BF ) Xt + C e t+1
Para comprobar que la solución es consistente con un estado estacionario, se debe
comprobar que X* = (A - BF ) Xt.
Una vez encontrada la función de política, se procede a simular realizaciones artificiales
que luego se compara con datos de la vida real. Para ello se parte de los datos
estacionarios (X*, U*). Se descartan N de las primeras simulaciones por haber partido
de estado estacionario y para dar oportunidad de que el proceso sea aleatorio.
Finalmente se comparan los datos reales con las simulaciones obtenidas.
3. Aplicación
3.1 El modelo
Puesto que el objetivo de esta nota metodológica es exclusivamente didáctico, la
aplicación que se presenta se hace en el contexto de un modelo muy simple donde se
ignoran distorsiones, imperfecciones de mercado y heterogeneidad de los agentes.
Supóngase que tenemos un agente representativo con vida infinita que maximiza la
esperanza condicional de la utilidad descontada que viene dada por la siguiente función
objetivo:
(13) E0
b
t
U(ct)
sujeto al siguiente conjunto de restricciones:
(14) A
= ct + it
(15) i t = k t+1 - (1- d ) kt
(16) w t+1 = r w t + e t+1
La ecuación (14) proporciona la restricción presupuestaria de la economía (producción
igual a consumo más inversión). Se considera una función de producción de tipo CobbDouglas donde kt es la razón capital-trabajo, a es la participación del capital en el
producto y w t es el shock real estocástico. De esta manera, la magnitud de las
fluctuaciones del producto está gobernada por la varianza del shock tecnológico. La
ecuación (15) representa la ley de movimiento del stock de capital, donde it es la
inversión y d es la tasa de depreciación. La ecuación (16) muestra la ley de movimiento
del shock real w t que se asume que se comporta de acuerdo con un proceso
autorregresivo de primer orden con parámetro de autocorrelación r , y e t+1 es
independiente e idénticamente distribuido como normal con media 0 y varianza s 2. Si ç
r ç < 1, la solución a este problema existe y adopta la forma de una regla de decisión
óptima:
(17) It = F ( kt, w t )
La ecuación (17) relaciona la variable de control (It) con los estados del problema (kt y
w t) mediante una función F que es invariante en el tiempo.
En las siguientes secciones utilizaremos el supuesto de que el agente tiene una función
de utilidad con coeficiente relativo de aversión al riesgo constante (CRRA) de tal forma
que:
(18) U(ct) =
3.2 Representación del modelo en estados y controles
Para representar el modelo en función de estados (Xit) y controles (Uit) se hace
necesario introducir la siguiente notación:
X1, t = kt
X2, t = w t
X3, t = 1
Ut = It
Como señala Quiroz et al (1991 :83), la inclusión de X3,t es requerida puesto que en la
aproximación de Taylor de la función objetivo "...existirán términos no dependientes de
las variables de estado y control". Con esta notación, el problema planteado en las
ecuaciones (13)-(16) se expresa de la siguiente manera:
(13´) E0
b
t
sujeto a:
(14´) X1, t+1 = (1- d ) X1, t + Ut
(15´) X2, t+1 = r X2, t + e t+1
(16´) X3, t+1 = X3, t
3.3 Aproximación Lineal-Cuadrática
En esta parte se aplica la metodología descrita en la sección 2, al problema planteado en
las ecuaciones (13´)-(16´). Se empieza planteando la versión determinística de este
modelo, de forma tal que el agente representativo maximiza la siguiente función
objetivo:
b
t
sujeto a :
X1, t+1 = (1- d ) X1, t + Ut
X2, t+1 = r X2, t
Resolviendo este problema mediante el uso del cálculo de variaciones se obtiene la
siguiente función lagrangiana:
L=
Donde l 1,t+1 y l 2,t+1 son los multiplicadores de Lagrange. Las condiciones de primer
orden están dadas por el siguiente sistema de ecuaciones:
19. Ut:
20. X1,t+1 :
21. X2, t+1 :
22. l 1,t+1 : X1, t+1 - (1- d ) X1, t - Ut = 0
23. l 2,t+1 : X2, t+1 - r X2, t = 0
A partir de las ecuaciones (22) y (23) se obtiene la solución de estado estacionario para
U y X2:
U* = d X1*
X2* = 0
Ello implica que en esta economía se invierte exactamente la fracción del stock de
capital que se ha depreciado (d ) y que no existe shock real. Incorporando estas
soluciones en las ecuaciones (19) y (20), en estado estacionario se obtiene lo siguiente:
(19´)
(20´)
De (19´) y (20´) obtenemos la solución de estado estacionario para X1:
X1* =
El segundo paso consiste en linealizar las restricciones en torno al estado estacionario.
Sin embargo, en el problema que estamos resolviendo las restricciones (14´)-(15´) ya
son lineales y por lo tanto adoptan la siguiente representación matricial en función de
estados y controles:
Xt+1 = A Xt + B Ut + C e t+1
donde :
Xt =
A=
B=
Ut =
e t+1 =
C=
El tercer paso es formar una función objetivo cuadrática en torno al estado estacionario.
La función objetivo para este caso adopta la siguiente forma:
Se procede entonces a calcular:
de donde se obtiene las matrices Q, R y W definidas por las expresiones (4), (6) y (7).
Para esta aplicación, la matriz Q tiene dimensión 3x3, la matriz R tiene dimensión 1x1
y la matriz W tiene dimensión 3x1. Una vez obtenidos estos resultados se procede a
realizar la expansión de Taylor de segundo orden de la función objetivo definida
anteriormente.
Con las matrices así definidas se procede a calcular las matrices Ar, Br y Qr de acuerdo
con las ecuaciones (9) a (11), para posteriormente obtener por iteración la matriz de
Ricatti P. La convergencia de este proceso de iteración se alcanza cuando la diferencia
entre las matrices Pt y Pt-1 sea insignificante. De esta manera se encuentra la función de
política F que se comprueba que es consistente con el estado estacionario.
El último paso consiste en calibrar el modelo. Para ello se realizan T simulaciones del
vector de variables de estado en cada una de las m muestras que se generan. Luego de
descartar las primeras N<T simulaciones se calculan los momentos relevantes que se
desean replicar. Se forma una matriz de momentos simulados que tiene tantas filas
cuantos momentos se desee replicar y m columnas. A partir de esta matriz se calculan
las medias y las desviaciones estándar que se comparan con los datos de la realidad.
4. Resultados
El ejercicio que se presenta en esta sección pretende calibrar y simular el modelo
planteado en las ecuaciones (13)-(16) utilizando la metodología descrita en las sección
anterior. Para ello se han utilizado los datos trimestrales per cápita del PIB, consumo e
inversión en el Ecuador, desde 1965 hasta el tercer trimestre de 1997.
Para describir las regularidades empíricas de la economía ecuatoriana se han elegido
tres estadísticos: la desviación estándar de la razón inversión/PIB dividida para su
media (s I/PIB), la desviación estándar de la razón consumo/PIB dividida para su media (s
C/PIB) y la correlación de primer orden entre el PIB y su rezago. La tabla que se muestra
a continuación presenta el vector de momentos calculado a partir de los datos reales
(columna 1) junto con los resultados obtenidos a partir de las simulaciones (columnas 2
y 3). Los datos entre paréntesis representan las desviaciones estándar de los momentos
simulados.
Cuadro 1
Momentos calculados a partir de los datos reales y de las simulaciones
s I/PIB
Datos Modelo
1
(1)
(2)
Modelo
2
0.208 0.193
0.094
(0.077)
s C/PIB
0.075 0.119
(0.044)
Corr( PIBt, PIBt-1 )
0.996 0.995
(3)
(0.022)
0.074
(0.016)
0.992
(0.003)
(0.003)
Desviación estándar del shock real
(s )
0.02
0.03
Tasa de depreciación (d )
0.02
0.03
Coeficiente de autocorrelación (r )
0.99
0.98
Los parámetros utilizados para a (participación del trabajo en el producto), b (tasa de
descuento) y g (coeficiente de aversión al riesgo) son 0.6, 0.98 y 0.5 respectivamente. El
coeficiente de participación del trabajo en el producto (a ) así como las tasas de
depreciación utilizadas (d ) están de acuerdo con los empleados en Ayala y Moreno
(1991). Los ejercicios realizados con un coeficiente de aversión al riesgo mayor que 0.5
presentaron menor bondad de ajuste que los que se muestran y por tanto dichos valores
para este parámetro fueron descartados. A pesar de la simplicidad del modelo utilizado,
el ajuste resulta ser bueno para dos de los tres momentos estimados. En general, todos
los modelos que se calibraron lograron predecir con mucha exactitud la autocorrelación
de primer orden del PIB. El modelo 1 mostrado en la tabla predice además la s I/PIB y el
modelo 2 lo hace con la s C/PIB.
Es conveniente aclarar que hay un tipo de shock real que ha tenido una incidencia muy
significativa en la economía ecuatoriana en especial en los años 1974, 1979 y 1986: el
cambio en el precio real del petróleo. Puesto que el modelo que hemos considerado en
esta nota no tiene sector externo, tales efectos son tratados en el análisis como
desplazamientos en la función de producción. Este tratamiento, sin embargo, podría ser
evitado pues los cambios en los precios del petróleo son observables y están
debidamente documentados. En aplicaciones futuras de modelos de RBC se podría
explícitamente modelar estos efectos en los términos de intercambio y por lo tanto
reducir la dependencia en shock tecnológicos no observados.
5. Conclusiones
La mayor contribución que la literatura de ciclos reales de negocios ha dado al
desarrollo de la economía ha sido el proporcionar una metodología alternativa para
investigar las propiedades de los modelos macroeconómicos a partir de fundamentos
microeconómicos, incorporando componentes estocásticos, dinámicos y no linealidades,
muchos de los cuales no estaban presentes en el análisis de la macroeconomía
tradicional.
En esta nota se describe la aproximación lineal cuadrática originalmente utilizada por
Kydland y Prescott (1982) para resolver modelos de RBC y se presenta una aplicación
al caso ecuatoriano. Esta manera de modelar en base a "parámetros profundos" permite
establecer una conexión directa entre la teoría y los datos dotada potencialmente de una
capacidad predictiva que sea robusta a la crítica de Lucas (1976).
Los resultados aquí presentados deben ser considerados tan solo como una primera
aproximación. Pese a lo simple del modelo de crecimiento estocástico utilizado, la
bondad del ajuste alcanzada en algunos momentos es bastante satisfactoria. Podría
inclusive mejorarse si se desestacionalizara y sacara la tendencia de las series utilizadas,
para hacerlas consistentes con el modelo desarrollado en esta nota que no considera ni
estacionalidad ni tendencia en los datos.
Otros métodos alternativos a la aproximación lineal-cuadrática que podrían ser objeto
de estudio posterior son el método de expectativas parametrizadas de Marcet (1989) y el
de iteraciones en las ecuaciones de Euler de Coleman (1990). Sin embargo, la principal
ventaja de utilizar el método de aproximación lineal-cuadrática es que resulta
relativamente rápido y fácil simular realizaciones de las series.
El método LQ puede traer problemas sin embargo, cuando las funciones son altamente
no lineales. En este caso, las expansiones de Taylor pueden no ser muy buenas
aproximaciones. Además, las expansiones han sido hechas en torno al estado
estacionario, lo que podría arrojar dudas sobre los resultados en el caso de existir
persistencia en las series. Por ello se simulan más series que los datos reales y se
descartan las primeras N simulaciones. Otra de las desventajas adicionales del método
LQ es que no es conveniente su utilización cuando existen distorsiones o externalidades
pues, en este caso, el equilibrio competitivo no es Pareto óptimo. Adicionalmente, si se
supone que hay alta persistencia en los shock de tal forma que no se pueda suponer
normalidad en los errores, el principio de equivalencia cierta ya no sería válido.
6. Bibliografía
Argandoña, Antonio, Consuelo Gámez y Francisco Mochón (1996). "Macroeconomía
Avanzada I". Editorial McGraw-Hill.
Ayala, Roberto y Moreno, José (1991). "Fuentes de Crecimiento Económico del
Ecuador : 1965-1991". Tesis de grado, Universidad Nacional de Tucumán.
Barro, Robert (1989). "Introduction", en "Modern Business Cycle Theory", editado por
Robert Barro. Harvard University Press, Cambridge, Massachussets.
Chumacero, Rómulo (1997). "Apuntes del Seminario de Macroeconometría Aplicada".
Cueva, Simón (1996). "Análisis de las fluctuaciones económicas y utilización variable
del capital y del trabajo". Cuestiones Económicas, No. 28, Banco Central del Ecuador.
Coleman, W. J. (1990). "Solving the stochastic growth model by Policy-Function
iteration". Journal of Business and Economic Statistics, Vol. 8, pp. 27-30.
Friedman, Milton (1968). "The role of monetary policy". American Economic Review,
Vol. 58.
Hicks, J.R. (1937). "Mr. Keynes and the ‘classics’ : A suggested interpretation".
Econometrica, Vol. 5.
Kydland, Finn E. y Prescott, Edward C. (1982). "Time to Build and Aggregate
Fluctuations". Econometrica, Vol. 50, No. 6.
Lucas, Robert E. (1976). "Econometric Policy Evaluation : A Critique", en "The
Phillips Curve and labor Markets", editado por K. Brunner y A. H. Meltzer. Norht
Holland Publishing Co., pp. 19-46.
Marcet A. (1989). "Solving non-linear models by parameterizing expectations".
Carnegie-Mellon University.
McCallum, Bennett (1989). "Real Business Cycle Models", en "Modern Business Cycle
Theory", editado por Robert Barro, Harvard University Press, Cambridge,
Massachussets.
McGrattan, E. (1990). "Solving the Stochastic Growth Model by Linear-Quadratic
Approximation". Journal of Business & Economics Statistics, Vol. 8, No. 1.
Muñoz, Roberto "Modelos y Realidad : Enseñando Macroeconomía en los noventa. Una
Nota". Manuscrito, Departamento de Economía, Universidad de Chile.
Phelps, E. S. (1967). "Phillips curves, expectations of inflation and optimal
unemployment over time". Economica, Vol. 34.
Quiroz, Jorge, F. Bernasconi, R. Chumacero y C. Revoredo (1991). "Modelos y
Realidad : Enseñando Macroeconomía en los Noventa". Revista de Análisis Económico,
Vol. 6, No. 2, pp. 79-103.
Anexo No. 1
A continuación se presenta el programa de GAUSS escrito para aplicar el método de
aproximación lineal-cuadrático.
/*
** Algoritmo lineal-cuadrático
*/
load dat[131,3]=pib.txt; /* Importa el archivo pib.txt que contiene los datos del
producto,
consumo e inversión per capita y los coloca en la matriz "dat" de
dimensión 131x3*/
cviy=stdc(dat[.,3]./dat[.,1])/(meanc(dat[.,3]./dat[.,1]));
/* Calcula la razón entre la desviación estándar de la razón
inversión/pib y su media */
cvcy=stdc(dat[.,2]./dat[.,1])/(meanc(dat[.,2]./dat[.,1]));
/* Calcula la razón entre la desviación estándar de la razón
consumo/pib y su media */
cx=corrx(dat[2:129,1]~dat[1:128,1]);
/* Calcula la matriz de correlación entre el
PIB y su primer rezago
*/
momen=cviy|cvcy|cx[1,2]; /* "momen" es el vector de momentos a simular */
/* Parámetros */
alpha=0.6; /* Participación del capital en el PIB */
beta=0.98; /* Factor de descuento */
gam=0.5; /* Coeficiente de aversión al riesgo */
deltha=0.03 /* Tasa de Depreciación */
rho=0.98; /* Coeficiente del proceso AR(1) del shock estocástico */
sigma=0.03; /* Desviación estándar del shock */
ns=2; /* Número de variables de estado */
nc=1; /* Número de variables de control */
/* PRIMER PASO: encontrar la solución de estado estacionario de la versión
determinística del modelo */
x=zeros(ns,1); /* Vector de variables de estado */
x[1]=((1-beta*(1-deltha))/(alpha*beta))^(1/(alpha-1));
/* Primer componente de este vector dado por el resultado
de estado estacionario para el stock de capital */
x[2]=0; /* Segundo componente de este vector dado por el resultado
de estado estacionario para el shock */
u=zeros(nc,1); /* Vector de variables de control */
u[1]=deltha*x[1]; /* Primer componente del vector "u" dado por la solución de
estado estacionario para la inversión */
/* SEGUNDO PASO: linealizar las restricciones en torno al estado estacionario. Como
para este ejemplo, las restricciones ya son lineales solamente se procede a definir las
matrices A, B y C */
A=zeros(ns+1,ns+1); /* Obtiene la matriz A (dimensión 3x3) */
A[1,1]=1-deltha;
A[2,2]=rho;
A[3,3]=1;
B=zeros(ns+1,nc); /* Obtiene la matriz B (dimensión 3x1) */
B[1]=1;
C=zeros(ns+1,ns+1); /* Obtiene la matriz C (dimensión 3x3 para este caso) */
C[2,2]=sigma;
/* TERCER PASO: realizar una aproximación cuadratica de la función objetivo en
torno al estado estacionario */
proc re(z); /* Procedimiento para obtener la función de retorno "re" con
argumento z */
local x,u,c; /* Define las variables locales conocidas exclusivamente
dentro del procedimiento */
x=z[1:ns];
u=z[ns+1:rows(z)];
c=((x[1]^alpha)*exp(x[2]))-u; /* Función consumo como diferencia entre producción e
inversión */
retp((c^(1-gam))/(1-gam)); /* La función de retorno del procedimiento es la función
objetivo que maximiza el agente y que es una función de
utilidad CRRA */
endp;
/* Una vez que la función objetivo "re" ha sido definida en el procedimiento anterior, se
procede a calcular su aproximación cuadrática */
r1=gradp(&re,x|u); /* Calcula el gradiente de la función objetivo "re" y lo evalúa en el
vector
columna de variables de estado (x) y de control (u) */
rx=r1[1,1:ns]'; /* Del vector fila r1 toma los componentes que corresponden a las
derivadas de la función objetivo con relación a las variables de estado
y las agrupa en el vector columna rx */
ru=r1[1,ns+1:ns+nc]'; /* Del vector fila r1 toma los componentes que corresponden a
las
derivadas de la función objetivo con relación a las variables de control
y las agrupa en el vector columna ru */
r2=hessp(&re,x|u); /* Calcula el hessiano de la función objetivo "re" y lo evalúa en el
vector
columna de variables de estado (x) y de control (u) (dimensión 3x3) */
rxx=r2[1:ns,1:ns]; /* De la matriz r2 toma los componentes que corresponden a las
segundas derivadas (propias y cruzadas) de la función objetivo con
respecto a las variables de estado y las agrupa en la matriz rxx
(dimensión 2x2) */
rxu=r2[1:ns,ns+1:ns+nc];
/* De la matriz r2 toma los componentes que corresponden a las
segundas derivadas cruzadas de la función objetivo con respecto a las
variables de estado y de control, y las agrupa en una matriz rxu
(dimensión 2x1) */
rux=rxu'; /* Calcula la transpuesta de rxu que por el Teorema de Young
corresponde a rux (dimensión 1x2) */
ruu=r2[ns+1:ns+nc,ns+1:ns+nc];
/* De la matriz r2 toma los componentes que corresponden a las
segundas derivadas cruzadas de la función objetivo con respecto a las
variables de estado (en este caso solamente hay una variable de
estado) y las agrupa en la matriz ruu (dimensión 1x1 para esta
aplicación) */
q1=(2*re(x|u))+(x'rxx*x)-(2*rx'x)-(2*ru'u)+(u'ruu*u)+(x'rxu*u); /* Calcula la matriz q
(ecuación
5) */
Q=0.5*((rxx~(rx-rxx*x-rxu*u))|((rx-rxx*x-rxu*u)'~q1)); /* Calcula la matriz Q
(ecuación
4) */
R=0.5*ruu; /* Calcula la matriz R
(ecuación 6) */
W=0.5*(rxu|(ru'-x'rxu-u'ruu)); /* Calcula la matriz W (ecuación
/* CUARTO PASO: encontrar la función de política */
/* Calcula las matrices Ar, Br y Qr (ecuaciones 9-11) */
Ar=sqrt(beta)*(A-B*inv(R)*W'); /* Dimensión 3x3 para este caso */
Br=sqrt(beta)*B; /* Dimensión 3x1 para este caso */
Qr=Q-W*inv(R)*W'; /* Dimensión 3x3 para este caso */
/* Iteración en la ecuación matricial de Ricatti */
tol=1;
p0=-eye(ns+1); /* Se toma al negativo de la matriz identidad como el valor inicial de la
matriz p */
do while tol>0.00000005;
p1=Qr+Ar'p0*Ar-Ar'p0*Br*inv(R+Br'p0*Br)*Br'p0*Ar;
tol=sumc(sumc(abs(p1-p0)));
/* La tolerancia se la define como la diferencia en valor absoluto entre las
matrices p1 y p0. Para este caso, esta diferencia dará una
matriz 3x3.
Luego se pide que se sume todas las columnas de esta
matriz de
diferencias y las coloque en un vector columna.
Finalmente se vuelven a
sumar todas las columnas de este último vector y a esta
suma se la define
como la tolerancia */
tol; /* Muestra en pantalla el valor que toma la tolerancia */
p0=p1;
endo;
F=inv(R+Br'p0*Br)*Br'p0*Ar+inv(R)*W';
/* Calcula la matriz F (dimensión 1x3) (ecuación 8) */
x=x|1;
z=(A-B*F)*x; /* Comprueba si la función de política encontrada F es consistente con el
estado estacionario */
/* QUINTO PASO: simulaciones */
t=150; /* Se va a simular 150 muestras */
m=20; /* Número de veces que se va a simular */
mom=zeros(rows(momen),m); /* Matriz de momentos simulados */
j=1;
do while j<m+1;
xs=zeros(3,t); /* xs es la matriz compuesta de t vectores de variables de estado
simuladas
*/
xs[.,1]=x; /* La primera simulación comienza en el estado estacionario */
i=2; /* Las siguientes simulaciones ya no comienzan en el estado estacionario */
do while i<t+1;
xs[.,i]=(A-B*F)*xs[.,i-1]+(c*rndn(3,1));
i=i+1;
endo;
xs=xs[.,21:t]'; /* Por haber partido de estado estacionario se descartan 20 de las
primeras
simulaciones (dimensión 130x3) */
inve=(-F*xs')'; /* Inversión (dimensión 130x1) */
co=(xs[.,1].^alpha).*(exp(xs[.,2]))-inve; /* Consumo (dimensión 130x1) */
y=co+inve; /* Producción (dimensión 130x1) */
tinve=inve./y; /* Tasa de inversión (dimensión 130x1) */
mom[1,j]=stdc(tinve)/meanc(tinve);
mom[2,j]=stdc(co./y)/meanc(co./y);
cx1=corrx(y[2:rows(y)]~y[1:rows(y)-1]);
mom[3,j]=cx1[1,2];
"Muestra" j;
j=j+1;
endo;
momm=meanc(mom´) ;
momsd=stdc(mom´) ;
print "Los momentos verdaderos son : " momen ;
"Los momentos simulados son : " momm ;
"y sus desviaciones estandar son : " momsd ;