

var ch pi mc nh q i z ce omgbar nw k ke a g;
varexo ea, eg;

parameters alpha, x, beta, delta, pib, mu, loa, logg, eps, lo, r, gamma, eta;

alpha = 0.3;
x = 0.0001;
beta  = 0.99;
delta = 0.025;
pib = 0.04;
mu = 0.25;
loa = 0.95;
logg = 0.9;
eps = 8;
lo = 0.75;
r = 0.04;
eta = 0.7;
gamma = 1.1;

model;
1/ch=beta*(1+r)*(1/ch(+1)*(1/pi(+1)));

1/ch=beta*(1/ch(+1))*((q(+1)*(1-delta)+z(+1))/q);

1=beta*gamma*((q(+1)*(1-delta)+z(+1))/q)*
(q(+1)*(-omgbar(+1)+0.5*(omgbar(+1))^2))/(1-q(+1)*(1-0.5*mu*omgbar(+1) + omgbar(+1)-0.5*omgbar(+1)));

nw=mc*a*x*k^alpha*nh^(1-alpha-x)*eta^x-1+(z+q*(1-delta))*ke;

k(+1)=(1-delta)*k+eta*i*(1-mu*0.5*omgbar);

i=nw/(1-q*(1-0.5*omgbar+omgbar*(1-0.5*omgbar)));

ke(+1)=nw*(-omgbar*(1-0.5*omgbar))/(1-q*(1-0.5*mu*omgbar+omgbar*(1-0.5*omgbar)))-ce/q;

a*k^alpha*nh^(1-alpha-x)*eta^x=(1-eta)*ch+eta*ce+eta*i+0.5*lo*(pi/pib-1)^2+g;

mc*a*(1-alpha-x)*k^alpha*nh^(-alpha-x)*eta^x;

mc*a*alpha*k^(alpha-1)*nh^(1-alpha-x)*eta^x=z;

q*(-omgbar*(1-0.5*omgbar))=((-1+omgbar)/(-0.5*mu+1-omgbar))*(q*(1-0.5*mu*omgbar+omgbar*(1-0.5*omgbar))-1);

(pi-pib)*pi=beta*(ch/ch(+1))*(pi(+1)-pib)*pi(+1)+a*k*alpha*nh^(1-alpha-x)*eta^x*eps/lo*(mc-((eps-1)/eps));

a = loa*a(-1)+ea;

g = logg*g(-1)+eg;

end;

initval;
ch = 2;
pi = 1;
mc = 3;
nh = 2;
q = 2;
i = 1;
z = 1;
ce = 2;
omgbar = 3;
nw = 2;
k =  2;
ke = 5;
a = 3;
g = 2;
ea = 0;
eg = 0;
end;
steady;
shocks;
var ea; stderr 0.009;
var eg; stderr 0.009;
end;

stoch_simul;
