%Endogenous Variables:
var kt ru rs re v bu bs lambda gamma z cs q liq ki;

%Exogenous Variables:
varexo e_z e_cs e_q e_liq e_ki;

%Parameters:
parameters beta alpha delta rho_z rho_cs rho_q rho_liq rho_ki; 

beta    =   0.99;
alpha    =   0.73; 
delta    =   0.025;
rho_z   =   0.95;
rho_cs   =   0.90;
rho_q   =   0.90;
rho_liq   =   0.90;
rho_ki   =   0.90;

model;
re=exp(z)*kt(-1)^alpha*exp(ki)^(1-alpha)-(1-delta)*kt(-1)+exp(ki)-ru*bu(-1)-rs*bs(-1)-kt-exp(ki)+bs+bu;
v=re+beta*v(+1);
1-lambda*exp(q)*exp(liq)=beta*(((alpha*exp(z(+1))*kt^(alpha-1)*exp(ki(+1))^(1-alpha)+1-delta))/(1-lambda(+1)*(1-exp(cs(+1)))));
1=beta*((rs(+1)+lambda(+1)*exp(cs(+1))+gamma(+1)*rs(+1))/(1-lambda(+1)*(1-exp(cs(+1)))));
1=beta*((ru(+1)+lambda(+1)*exp(cs(+1)))/(1-lambda(+1)*(1-exp(cs(+1)))));
v(+1)+bs+bu=kt-(1-delta)*kt(-1)+exp(ki(+1))+exp(ki);
((rs(+1)+lambda(+1)*exp(cs(+1))+gamma(+1)*rs(+1))/(1-lambda(+1)*(1-exp(cs(+1)))))=((alpha*exp(z(+1))*kt^(alpha-1)*exp(ki(+1))^(1-alpha)+1-delta))/(1-lambda(+1)*(1-exp(cs(+1))));
z = rho_z*z(-1) + e_z; 
q = rho_q*q(-1) + e_q; 
cs = rho_cs*cs(-1) + e_cs; 
liq = rho_liq*liq(-1) + e_liq; 
ki = rho_ki*ki(-1) + e_ki; 
(v/(v+bs(-1)+bu(-1))-exp(cs))=0;
(rs*bs(-1)-exp(liq)*exp(q)*kt(-1))=0;

end;


check;

initval;
bs=1;
bu=1;
end;
steady;

shocks;
var e_z; stderr 0.01;
var e_q; stderr 0.01;
var e_liq; stderr 0.01;
var e_cs; stderr 0.01;
var e_ki; stderr 0.01;
corr e_liq, e_cs = -0.8;
end;

stoch_simul(irf=36) ;

