// 1) Definition of variables 
 
var y c k invest l y_l z log_y log_c log_invest log_l log_k log_y_l;
varexo e; 
parameters alppha betta delta psii chii rho sigma;
 
// 2) Calibration
 
alppha = 0.36657;
betta = 0.95563;
delta = 0.03852;
psii = 8.41149695;
chii = 0.5;
rho = 0.961879;
sigma = 0.017812;
 
// 3) Model
 
model;
(1/c) = betta*(1/c(+1))*(1+alppha*(k^(alppha-1))*(exp(z(+1))*l(+1))^(1-alppha)-delta);
psii*c*(l^chii) = (1-alppha)*(k(-1)^alppha)*(exp(z)^(1-alppha))*(l^(-alppha));
c+invest = y;
y = (k(-1)^alppha)*(exp(z)*l)^(1-alppha);
invest = k-(1-delta)*k(-1);
y_l = y/l;
z = rho*z(-1)+e;
log_y=log(y);
log_invest=log(invest);
log_c=log(c);
log_l=log(l);
log_k=log(k);
log_y_l=log(y_l);
end;
 
// 4) Computation

shocks;
var e = sigma^2;
end;

steady;
check;

stoch_simul(order=1,hp_filter=100);
