% this file tries to produce the rbc model example by Penn on Dynare
% website. (one of the many tries to simulate Basic RBC model.)

var c k l y z;
varexo ep;

parameters beta psi alpha delta rho sigma mu Omega varpsi k_bar l_bar c_bar y_bar a1 a2 a3 a4 a5 a6 a7 a8 a9 ;
beta = 0.99;
psi = 1.75;
alpha = 0.33;
delta = 0.023;
rho = 0.95;
sigma = 0.01;
varpsi = ((1/alpha)*(1/beta-1+delta))^(1/(1-alpha));
mu = (1/psi)*(1-alpha)*varpsi^(-alpha);
Omega = varpsi^(1-alpha)-delta;
k_bar = mu/(Omega+varpsi*mu);
l_bar = varpsi*k_bar;
c_bar = Omega*k_bar;
y_bar = k_bar^alpha + l_bar^(1-alpha);
a1= -(1/c_bar);
a2= alpha*(1-alpha)*beta*y_bar/k_bar;
a3= alpha*(alpha-1)*beta*y_bar/(k_bar^2);
a4= alpha*(1-alpha)*beta*y_bar/(k_bar*l_bar);
a5= (1-alpha)*c_bar;
a6= -c_bar*(alpha/l_bar +1/(1-l_bar));
a7= (1-alpha)*y_bar;
a8= y_bar*alpha/k_bar +1-delta;
a9= y_bar*(1-alpha)/l_bar;
end;

model;
y = (k^alpha)*(l^(1-alpha));
a1*(c-c_bar)=a1*(c(+1)-c_bar)+a2*z(+1)+a3*(k(+1)-k_bar)+a4*(l(+1)-l_bar);
c-c_bar=a5*z +alpha*c_bar*(k-k_bar)/k_bar +a6*(l-l_bar);
c-c_bar +k(+1)-k_bar =a7*z +a8*(k-k_bar)+a9*(l-l_bar);
z = rho*z(-1)+ ep;
end;

initval;
k = 10.2696;
y = 2.6344;
c = 0.7939;
l = 0.3319;
end;

shocks;
var ep;stderr sigma;
end;

steady;
check;

stoch_simul(periods=1000,irf=100);

save simudata;