close all;

var c inv k y alpha n;
varexo e_alpha;

parameters delta beta theta alphabar gamma;


beta=0.985;
delta=0.014;
theta=1.628;
alphabar=0.634;
gamma=0.9486;

sigma_alpha=0.00315;


model; 
exp(c) + exp(inv) = exp(y);

exp(k) = exp(inv) + (1-delta)*exp(k(-1));

exp(y) = exp(k(-1))^(exp(alpha)-1) * exp(n)^(exp(alpha));

alpha=gamma*alpha(-1) + (1-gamma)*alphabar + e_alpha;

theta=exp(alpha)*(exp(y)/exp(c));

1=beta*(exp(c)/exp(c(+1))*(1-exp(alpha(+1))*exp(y(+1))/exp(k) + (1-delta)));

end;


initval;
 k=0;
 alpha=0.634;
 n=-1.098; 
 y=ln(exp(k)^(exp(alpha)-1) * exp(n)^(exp(alpha)));
 inv=ln(0.014*exp(k));
 c=ln(exp(y)-exp(inv));
end;


shocks;
  var e_alpha = sigma_alpha^2;
end;

resid(1);
steady(maxit=1000000000, solve_algo=2);

stoch_simul(hp_filter = 1600, order = 1, irf=40);