2012-04-03 12:49:34 +02:00
|
|
|
/*
|
|
|
|
* This file replicates the model studied in:
|
2020-09-07 17:24:53 +02:00
|
|
|
* Aguiar, Mark and Gopinath, Gita (2004): “Emerging Market Business Cycles:
|
|
|
|
* The Cycle is the Trend” (NBER WP 10734). It is different from version published
|
2013-09-10 16:49:21 +02:00
|
|
|
* in the Journal of Political Economy.
|
|
|
|
*
|
|
|
|
* This model file is intended to show the capabilities of the Dynare macro
|
|
|
|
* languange. It is not intended to provide a full replication of the original
|
|
|
|
* paper due to some differences in model calibration. In
|
|
|
|
* particular, this mod-file does not calibrate the share of debt to GDP
|
|
|
|
* to 0.1 as this would require the use of a steady state file. Rather, the
|
|
|
|
* absolute value of debt is set to 0.1. Given that output is close to 1 in
|
|
|
|
* the benchmark specification, this results in only a small difference to
|
|
|
|
* the working paper.
|
|
|
|
* The mod-file reproduces Figure 4 of the working paper, which displays the
|
|
|
|
* model response to 1 percent shock to trend and cyclical TFP.
|
2012-04-03 12:49:34 +02:00
|
|
|
*
|
2020-09-07 17:24:53 +02:00
|
|
|
* This implementation was written by Sébastien Villemot and Johannes Pfeifer.
|
2013-09-10 16:49:21 +02:00
|
|
|
* Please note that the following copyright notice only applies to this Dynare
|
|
|
|
* implementation of the model.
|
2012-04-03 12:49:34 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
2013-09-10 16:49:21 +02:00
|
|
|
* Copyright (C) 2012-13 Dynare Team
|
2012-04-03 12:49:34 +02:00
|
|
|
*
|
|
|
|
* This file is part of Dynare.
|
|
|
|
*
|
|
|
|
* Dynare is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* Dynare is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
2021-06-09 17:33:48 +02:00
|
|
|
* along with Dynare. If not, see <https://www.gnu.org/licenses/>.
|
2012-04-03 12:49:34 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
// Set the following variable to 0 to get Cobb-Douglas utility
|
|
|
|
@#define ghh = 1
|
|
|
|
// Set the following variable to 0 to get the calibration for Canada
|
|
|
|
@#define mexico = 1
|
|
|
|
|
|
|
|
var c k y b q g l u z uc ul f c_y tb_y i_y;
|
|
|
|
|
|
|
|
varexo eps_z eps_g;
|
|
|
|
|
|
|
|
parameters mu_g sigma rho_g sigma_g delta phi psi b_star alpha rho_z sigma_z r_star beta;
|
|
|
|
|
|
|
|
// Benchmark parameter values (table 3)
|
|
|
|
@#if ghh == 1
|
|
|
|
parameters tau nu;
|
|
|
|
tau = 1.4;
|
|
|
|
nu = 1.6;
|
|
|
|
@#else
|
|
|
|
parameters gamma;
|
|
|
|
gamma = 0.36;
|
|
|
|
@#endif
|
|
|
|
|
|
|
|
alpha = 0.68;
|
|
|
|
sigma = 2;
|
|
|
|
delta = 0.03;
|
|
|
|
beta = 0.98;
|
|
|
|
psi = 0.001;
|
2013-09-10 16:49:21 +02:00
|
|
|
b_star = 0.1; //taken here as the steady state value of debt; in the original paper, this is the share of debt to GDP
|
2012-04-03 12:49:34 +02:00
|
|
|
|
|
|
|
// Estimated parameters (table 4)
|
|
|
|
@#if mexico == 1
|
|
|
|
@# if ghh == 1
|
|
|
|
mu_g = 1.006;
|
|
|
|
sigma_z = 0.0041;
|
|
|
|
rho_z = 0.94;
|
|
|
|
sigma_g = 0.0109;
|
|
|
|
rho_g = 0.72;
|
|
|
|
phi = 3.79;
|
|
|
|
@# else
|
|
|
|
mu_g = 1.005;
|
|
|
|
sigma_z = 0.0046;
|
|
|
|
rho_z = 0.94;
|
|
|
|
sigma_g = 0.025;
|
|
|
|
rho_g = 0.06;
|
|
|
|
phi = 2.82;
|
|
|
|
@# endif
|
|
|
|
@#else
|
|
|
|
// Canada
|
|
|
|
@# if ghh == 1
|
|
|
|
mu_g = 1.007;
|
|
|
|
sigma_z = 0.0057;
|
|
|
|
rho_z = 0.88;
|
|
|
|
sigma_g = 0.0014;
|
|
|
|
rho_g = 0.94;
|
|
|
|
phi = 2.63;
|
|
|
|
@# else
|
|
|
|
mu_g = 1.007;
|
|
|
|
sigma_z = 0.0072;
|
|
|
|
rho_z = 0.96;
|
|
|
|
sigma_g = 0.0044;
|
|
|
|
rho_g = 0.50;
|
|
|
|
phi = 3.76;
|
|
|
|
@# endif
|
|
|
|
@#endif
|
|
|
|
|
|
|
|
@#if ghh == 1
|
2012-04-03 15:01:22 +02:00
|
|
|
r_star = mu_g^sigma/beta - 1;
|
2012-04-03 12:49:34 +02:00
|
|
|
@#else
|
|
|
|
r_star = mu_g^(1-gamma*(1-sigma))/beta - 1;
|
|
|
|
@#endif
|
|
|
|
|
2013-09-10 16:49:21 +02:00
|
|
|
model; //equation numbers refer to numbers in the working paper version
|
|
|
|
y=exp(z)*k(-1)^(1-alpha)*(g*l)^alpha; // Production technology (1)
|
2012-04-03 12:49:34 +02:00
|
|
|
z = rho_z*z(-1)+sigma_z*eps_z; // Transitory shock (2)
|
|
|
|
log(g) = (1-rho_g)*log(mu_g)+rho_g*log(g(-1))+sigma_g*eps_g; // Trend shock
|
|
|
|
@#if ghh == 1
|
|
|
|
u = (c-tau*l^nu)^(1-sigma)/(1-sigma); // GHH utility (3)
|
|
|
|
uc = (c - tau*l^nu)^(-sigma);
|
|
|
|
ul = -tau*nu*l^(nu-1)*(c - tau*l^nu)^(-sigma);
|
|
|
|
f = beta*g^(1-sigma);
|
|
|
|
@#else
|
|
|
|
u = (c^gamma*(1-l)^(1-gamma))^(1-sigma)/(1-sigma); // Cobb-Douglas utility (4)
|
|
|
|
uc = gamma*u/c*(1-sigma);
|
|
|
|
ul = -(1-gamma)*u/(1-l)*(1-sigma);
|
|
|
|
f = beta*g^(gamma*(1-sigma));
|
|
|
|
@#endif
|
|
|
|
c+g*k=y+(1-delta)*k(-1)-phi/2*(g*k/k(-1)-mu_g)^2*k(-1)-b(-1)+q*g*b; // Resource constraint (5)
|
|
|
|
1/q = 1+r_star+psi*(exp(b-b_star)-1); // Price of debt (6)
|
2013-09-10 16:49:21 +02:00
|
|
|
uc*(1+phi*(g*k/k(-1)-mu_g))*g=f*uc(+1)*(1-delta+(1-alpha)*y(+1)/k+phi/2*(g(+1)*k(+1)/k-mu_g)*(g(+1)*k(+1)/k+mu_g)); // FOC wrt to capital (10) with envelope condition plugged in
|
2012-04-03 12:49:34 +02:00
|
|
|
ul+uc*alpha*y/l=0; // Leisure-consumption arbitrage (11)
|
|
|
|
uc*g*q=f*uc(+1); // Euler equation (12)
|
|
|
|
|
2013-09-10 16:49:21 +02:00
|
|
|
//definition of auxilary variables to be plotted
|
|
|
|
tb_y = (b(-1)-g*q*b)/y; // Trade balance to GDP ratio, not logged as it can be negative
|
|
|
|
c_y = log(c/y); // Consumption to GDP ratio, logged to be in percent
|
|
|
|
i_y = log((g*k-(1-delta)*k(-1)+phi/2*(g*k/k(-1)-mu_g)^2*k(-1))/y); // Investment to GDP ratio, logged to be in percent
|
2012-04-03 12:49:34 +02:00
|
|
|
end;
|
|
|
|
|
|
|
|
initval;
|
|
|
|
q = 1/(1+r_star);
|
|
|
|
b = b_star;
|
|
|
|
z = 0;
|
|
|
|
g = mu_g;
|
|
|
|
|
|
|
|
c = 0.583095;
|
|
|
|
k = 4.02387;
|
|
|
|
y = 0.721195;
|
|
|
|
l = 0.321155;
|
|
|
|
|
|
|
|
@#if ghh == 1
|
|
|
|
u = (c-tau*l^nu)^(1-sigma)/(1-sigma);
|
|
|
|
uc = (c - tau*l^nu)^(-sigma);
|
|
|
|
ul = -tau*nu*l^(nu-1)*(c - tau*l)^(-sigma);
|
|
|
|
f = beta*g^(1-sigma);
|
|
|
|
@#else
|
|
|
|
u = (c^gamma*(1-l)^(1-gamma))^(1-sigma)/(1-sigma);
|
|
|
|
uc = gamma*u/c*(1-sigma);
|
|
|
|
ul = -(1-gamma)*u/(1-l)*(1-sigma);
|
|
|
|
f = beta*g^(gamma*(1-sigma));
|
|
|
|
@#endif
|
|
|
|
|
|
|
|
tb_y = (b-g*q*b)/y;
|
|
|
|
c_y = c/y;
|
|
|
|
i_y = (g*k-(1-delta)*k)/y;
|
|
|
|
end;
|
|
|
|
|
|
|
|
shocks;
|
2013-09-10 16:49:21 +02:00
|
|
|
var eps_g; stderr 1/sigma_g/100; // use a 1 percent shock
|
|
|
|
var eps_z; stderr 1/sigma_z/100; // use a 1 percent shock
|
2012-04-03 12:49:34 +02:00
|
|
|
end;
|
|
|
|
|
|
|
|
steady;
|
|
|
|
|
|
|
|
check;
|
|
|
|
|
2013-09-10 16:49:21 +02:00
|
|
|
// Plot impulse response functions (Figure 4)
|
|
|
|
stoch_simul(order=1) tb_y c_y i_y;
|