var c k a;
varexo epsilon epsilonK;

predetermined_variables k;

parameters 	GAM DELTA ALFA BETTA RHO_A SIG_A SIG_K kb cb ab;

RHO_A=0.4; 
DELTA = 0.1; 
ALFA = 0.33;
GAM = 4;
SIG_K=0.05;
SIG_A=0.02;
ab=1;
ct_disc=-0.5*ALFA*GAM*(1-ALFA*GAM)*SIG_K^2-(1-ALFA*GAM)*DELTA;
BETTA = 1/(1+ct_disc);

kb = ((1/BETTA+DELTA-1)/ALFA)^(1/(ALFA-1)); 
cb = (kb)^(ALFA)-DELTA*(kb); %steady-state value of consumption 

model;
0 = (c) + (k(+1)) - (1-DELTA+epsilonK) * (k) - (a) * (k)^ALFA;
0 = (c)^(-GAM) - BETTA * (c(+1))^(-GAM) * (a(+1) * ALFA * (k(+1))^(ALFA-1) + 1 - DELTA + epsilonK(+1));
0 = log(a) - RHO_A * log(a(-1))-epsilon;
end;

initval;
k=kb;
c=cb;
a=ab; 
end;

shocks;
var epsilon; stderr SIG_A;
var epsilonK; stderr SIG_K; 
end;
steady;
check;
stoch_simul(order=2);