%%DYNARE CODES FOR MASTER


var k, z, c, Y, r, rtilde, R, q, w, wtilde, b, taok, psi, theta, miu;

varexo epis;

parameters alpha, delta, beta, rho, sigma, m_g, taon, eta, lambda;

beta=0.98;

alpha=0.32;

delta=0.1;

rho=0.95;

sigma=0.007;

m_g=0.2;               %    Ratio of government expenditure to GDP

taon = 0.3;

eta=0;  

lambda=2;

model;

r = alpha*z*k(-1)^(alpha-1);

rtilde(-1) = (1-taok(-1))*alpha*k(-1)^(alpha-1);

R = 1+z*rtilde(-1)-delta;

Y =z*k(-1)^alpha;

w = (1-alpha)*Y;

wtilde = (1-taon)*w;

# z_idf=(1/q-1+delta)/rtilde;

# phi_A = normpdf((log(z_idf)-rho*log(z))/sigma);

# PHI_A = normcdf((log(z_idf)-rho*log(z))/sigma);

# P_A = 1+(lambda-1)* PHI_A;

# phi_B = normpdf((log(z_idf)-rho*log(z)-sigma^2)/sigma);

# PHI_B = normcdf((log(z_idf)-rho*log(z)-sigma^2)/sigma);

# P_B = 1+(lambda-1)* PHI_B;

# v_D = (1-delta-1/q)*P_A+z^rho*exp(sigma^2/2)*rtilde*P_B;

c+k+m_g*Y=Y+(1-delta)*k(-1);

m_g*Y+b(-1)+wtilde+z*rtilde(-1)*k(-1)=Y+q*b;


R(+1)/c(+1)+eta*v_D=1/(beta*c);

q/c=beta/c(+1);

((lambda-1)*((1-delta-1/q)*phi_A+z^rho*exp(sigma^2/2)*rtilde*phi_B)/(sigma*(1/q-1+delta))-P_A)*eta*(k+miu)/(beta*c)+1/c(+1)+beta*psi(+1)*b(+1)/c(+2)=(miu*R(+1)+psi*c*b-miu(+1))/(c(+1)^2)+theta(+1)+((lambda-1)*((1-delta-1/q(+1))*phi_A(+1)+z(+1)^rho*exp(sigma^2/2)*rtilde(+1)*phi_B(+1))/(sigma*(1/q(+1)-1+delta))-P_A(+1))*eta*(k(+1)+miu(+1))*c(+2)/(c(+1)^2);

theta/beta= theta(+1)*(r(+1)+1-delta)+psi(+1)*(r(+1)-z(+1)*rtilde)+eta*v_D;

((lambda-1)*((1-delta-1/q)*phi_A+z^rho*exp(sigma^2/2)*rtilde*phi_B)/(sigma*rtilde)-z^rho*exp(sigma^2/2)*P_B)*eta*(k+miu)=z(+1)*(miu/c(+1)-psi(+1)*k);

psi*c=psi(+1)*c(+1);

log(z)=rho*log(z(-1))+sigma*epis;

end;

steady_state_model;
k = 4.20975;
z = 1;
c = 0.846245;
Y = 1.58402;
r = 0.120408;
rtilde = 0.120408;
R = 1.02041;
q = 0.98;
w = 1.07714;
wtilde = 0.753996;
b = 0.316805;
taok = 2.32298e-012;
psi = 2.37862;
theta = 0.922397;
miu = -4.17239;
end;

shocks;
var epis = 1;

end;

stoch_simul (drop = 100, periods = 1000, irf=0, order=1);