Although I am using steady state values as the initial values Dynare cannot seem to find a solution
producing the following -usual- error:
- Code: Select all
SOLVE: maxit has been reached
??? Error using ==> print_info at 52
Impossible to find the steady state. Either the model doesn't have a unique steady state of the guess values are
too far from the solution
The model uses exact calibration values for the parameters in the paper.
The code is shown below. I would appreciate any help. Thanks.
- Code: Select all
% RBC model for Argentina
% see J. Garcia-Cicco et al. (2010) "Real Business Cycles in Emerging Countries?"
close all
%----------------------------------------------------------------
% Defining variables
%----------------------------------------------------------------
var y c h k tb r d inv lm rp a g;
% NOTE: lm: lagrange multiplier
% rp: country risk premium
varexo e_a e_g;
parameters alpha theta beta omega psi phi gamma delta rstar dbar gbar rho_a rho_g sigma_a sigma_g;
%----------------------------------------------------------------
% 2. Calibration
%----------------------------------------------------------------
alpha = 0.32;
theta = 2.24;
omega = 1.6;
phi = 3.3;
psi = 0.001;
gamma = 2;
delta = 0.1255;
beta = 0.9224;
dbar = 0.007;
gbar = 1.005;
rstar = 1/beta*gbar^gamma-1;
rho_a = 0.765;
sigma_a = 0.027;
rho_g = 0.828;
sigma_g = 0.03;
%----------------------------------------------------------------
% 3. Model
%----------------------------------------------------------------
model;
lm = (c-theta*h^omega/omega)^(-gamma);
rp = psi*(exp(d(-1)-dbar)-1);
r = rstar + rp;
tb = y - c - inv - ((phi/2)*(g*k/k(-1)-gbar)^2)*k(-1);
d*g/(1+r) = d(-1)-tb;
inv = k*g-(1-delta)*k(-1);
y = exp(a)*k(-1)^alpha*(g*h)^(1-alpha);
theta*h^(gamma-1) = exp(a)*(1-alpha)*g^(1-alpha)*(k(-1)/h)^alpha;
lm*g^gamma = (beta)*(1+r)*lm(+1);
(g^gamma)*lm*(1+phi*((k/k(-1))*g-gbar)) = (beta)*lm(+1)*(1-delta+alpha*exp(a(+1))*(g(+1)*h(+1)/k)^(1-alpha)
+phi*(k(+1)/k)*g(+1)*((k(+1)/k)*g(+1)-gbar)-0.5*phi*((k(+1)/k)*g(+1)-gbar)^2);
a = rho_a*a(-1) + e_a;
log(g) = (1-rho_g)*log(gbar) + rho_g*log(g(-1)) + e_g;
end;
%----------------------------------------------------------------
% 4. Computation
%----------------------------------------------------------------
initval;
y = 0.2217;
c = 0.1791;
h = 0.1851;
k = 0.3217;
r = rstar;
d = dbar;
inv = 0.042;
tb = y-c-inv;
lm = 138.3395;
rp = 0;
a = 0;
g = gbar;
end;
shocks;
var e_a = sigma_a^2;
var e_g = sigma_g^2;
end;
check;
resid(1);
steady(solve_algo=3);