
var  c lambda w n r pi d varphi q x  E_z E_v;        			

varexo z  v ;        							                                                                     

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

parameters beta sigma chi eta theta omega rho_r phi_pi  phi_x rho_z rho_v  mu;

beta=0.99;
sigma=1;
eta=1;
theta=6;
omega=0.75;
chi=7.4997;
rho_r=0.5;
phi_pi=1.5;
phi_x=0.125;
rho_z=0.9;
rho_v=0.5;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

model;


exp(log(x))=exp(log(c))-exp(log(STEADY_STATE(c)));

-sigma*exp(log(c))=exp(log(lambda));

exp(log(lambda))+exp(log(w))=eta*exp(log(n));

exp(log(lambda))=exp(log(lambda(+1)))+exp(log(r))-exp(log(pi(+1)));


exp(log(STEADY_STATE(c)))*exp(log(c))=exp(log(STEADY_STATE(n)))*exp(log(STEADY_STATE(w)))*exp(log(w))+exp(log(STEADY_STATE(n)))*exp(log(STEADY_STATE(w)))*exp(log(n))+
                                      exp(log(STEADY_STATE(d)))*exp(log(STEADY_STATE(d)));

exp(log(c))=exp(log(n))+exp(log(E_z));

exp(log(varphi))=exp(log(w))-exp(log(E_z));

exp(log(pi))*(omega/(1-omega))=(1-(omega*beta))*exp(log(varphi))+(omega*beta)*((omega/(1-omega))*exp(log(pi(+1))))+exp(log(pi(+1)));

exp(log(q))=(omega/(1-omega))*exp(log(pi));

exp(log(r))=rho_r*exp(log(r(-1)))+(1-rho_r)*(phi_pi*exp(log(pi)))+phi_x*exp(log(c))+exp(log(E_v)); 

exp(log(E_z))=rho_z*exp(log(E_z(-1)))+ z;
exp(log(E_v))=rho_v*exp(log(E_v(-1)))+ v;
end;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

initval;

pi=1;
r=1.01;
varphi=0.833;
w=0.833;
n=1/3;   
c=1/3;
d=0.0556;
lambda=3;
q=1;
x=0;
E_z=1;
E_v=1;
end;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

check;

steady(solve_algo=3);

shocks;
      var z=1;
    var v=1;
end;

stoch_simul(periods=2100, IRF=40) c w n r pi d x E_v  E_z;