// the description of the estimated equations 
/*
IS curve
y=y(+1)-g(+1)+g+alpha*(omega-1)*(rho_yf-1)*yf-(1/sigma_alpha)*(r-pi(+1));
    where
        sigma_alpha=(sigma/((1-alpha)+alpha*omega));
        omega=(sigma*gamma+(1-alpha)*(sigma*eta-1));
    and yf and a are AR(1)
        yf=rho_yf*yf(-1)+e_yf;
        a=rho_a*a(-1)+e_a;

Phillips curve
pi=lb*pi(-1)+lf*pi(+1)+k*mc+e_pi;
     where
         lb=csi/(theta+csi*(1-theta*(1-beta)));
         lf=beta*theta/(theta+csi*(1-theta*(1-beta)));
         k=(1-beta*theta)*(1-theta)*(1-csi)/(theta+csi*(1-theta*(1-beta)));
         mc=((sigma_alpha+fi)*(y-yn)-sigma_alpha*g+tau);
         yn=((1+fi)/(sigma_alpha+fi)*a-(sigma-sigma_alpha)/(sigma_alpha+fi)*yf);  

//mc=(((sigma/((1-alpha)+alpha*omega))+fi)*(y-((1+fi)/((sigma/((1-alpha)+alpha*omega))+fi)*a-(sigma-(sigma/((1-alpha)+alpha*omega)))/((sigma/((1-alpha)+alpha*omega))+fi)*yf))-(sigma/((1-alpha)+alpha*omega))*g+tau);

The fiscal constraint
b(+1)=r+(1/beta)*(b-pi+(1-beta)*(tau-y)+C/B*(g-tau));

The monetary policy rule
 r= rho_r*(r(-1)-rn(-1))+(1-rho_r)*(r_pi*pi+r_y*(y-yn))+rn+e_r;
      where
            rn=sigma_alpha*(yn(+1)-yn)+sigma_alpha*alpha*(omega-1)*(rho_yf-1)*yf;
        or expressed in terms of only "a" and "yf" 
            rn=(sigma_alpha*(1+fi)*(rho_a-1)/(sigma_alpha+fi)*a+fi*alpha*(omega-1)/(sigma_alpha+fi)*(rho_yf-1)*yf);


The fiscal policy rules
g=rho_g*g(-1)+(1-rho_g)*(g_y*(y(-1)-yn(-1))+g_b*b)+e_g;
tau=rho_tau*tau(-1)+(1-rho_tau)*(tau_y*(y(-1)-yn(-1))+tau_b*b)+e_tau;
*/
///////////////

var y pi b r g tau yf a;
varexo e_yf e_a e_pi e_r e_g e_tau;
parameters beta eta gamma alpha C B sigma omega csi theta sigma_alpha fi rho_yf rho_a rho_g rho_tau g_y g_b tau_y tau_b rho_r r_pi r_y;


beta=0.99;
eta=1;
gamma=1;
alpha=0.4;
C=0.7;
B=0.3;

sigma_alpha=(sigma/((1-alpha)+alpha*omega));
omega=(sigma*gamma+(1-alpha)*(sigma*eta-1));

fi=2;
sigma=3;
r_pi=1.5;
rho_r=0.5;
rho_g=0.5;
rho_a=0.8;
rho_yf=0.8;
theta=0.5;
r_y=0.4;
g_y=0;
rho_tau=0.5;
tau_y=0;
g_b=-0.03;
tau_b=0.03;
csi=0.7; 

model(linear);

y=y(+1)-g(+1)+g+alpha*(omega-1)*(rho_yf-1)*yf-(1/sigma_alpha)*(r-pi(+1));

yf=rho_yf*yf(-1)+e_yf;

a=rho_a*a(-1)+e_a;

pi=csi/(theta+csi*(1-theta*(1-beta)))*pi(-1)+beta*theta/(theta+csi*(1-theta*(1-beta)))*pi(+1)+(1-beta*theta)*(1-theta)*(1-csi)/(theta+csi*(1-theta*(1-beta)))*((sigma_alpha+fi)*(y-((1+fi)/(sigma_alpha+fi)*a-(sigma-sigma_alpha)/(sigma_alpha+fi)*yf))-sigma_alpha*g+tau)+e_pi;

b(+1)=r+(1/beta)*(b-pi+(1-beta)*(tau-y)+C/B*(g-tau));

r= rho_r*(r(-1)-(sigma_alpha*(1+fi)*(rho_a-1)/(sigma_alpha+fi)*a(-1)+fi*alpha*(omega-1)/(sigma_alpha+fi)*(rho_yf-1)*yf(-1)))+(1-rho_r)*(r_pi*pi+r_y*(y-((1+fi)/(sigma_alpha+fi)*a-(sigma-sigma_alpha)/(sigma_alpha+fi)*yf)))+(sigma_alpha*(1+fi)*(rho_a-1)/(sigma_alpha+fi)*a+fi*alpha*(omega-1)/(sigma_alpha+fi)*(rho_yf-1)*yf)+e_r;


/*r= rho_r*(r(-1)-(sigma_alpha*(((1+fi)/(sigma_alpha+fi)*a-(sigma-sigma_alpha)/(sigma_alpha+fi)*yf)-((1+fi)/(sigma_alpha+fi)*a(-1)-(sigma-sigma_alpha)/(sigma_alpha+fi)*yf(-1)))+sigma_alpha*alpha*(omega-1)*(rho_yf-1)*yf(-1)))+(1-rho_r)*(r_pi*pi+r_y*(y-((1+fi)/(sigma_alpha+fi)*a-(sigma-sigma_alpha)/(sigma_alpha+fi)*yf)))+(sigma_alpha*(((1+fi)/(sigma_alpha+fi)*a(+1)-(sigma-sigma_alpha)/(sigma_alpha+fi)*yf(+1))-((1+fi)/(sigma_alpha+fi)*a-(sigma-sigma_alpha)/(sigma_alpha+fi)*yf))+sigma_alpha*alpha*(omega-1)*(rho_yf-1)*yf)+e_r;     */

g=rho_g*g(-1)+(1-rho_g)*(g_y*(y(-1)-((1+fi)/(sigma_alpha+fi)*a(-1)-(sigma-sigma_alpha)/(sigma_alpha+fi)*yf(-1)))+g_b*b)+e_g;

tau=rho_tau*tau(-1)+(1-rho_tau)*(tau_y*(y(-1)-((1+fi)/(sigma_alpha+fi)*a(-1)-(sigma-sigma_alpha)/(sigma_alpha+fi)*yf(-1)))+tau_b*b)+e_tau;

end;


estimated_params;
theta, beta_pdf,0.5,0.1;
fi, normal_pdf,2.0,0.5;
sigma, normal_pdf,3.0,0.75;
rho_r, beta_pdf, 0.5,0.2;
r_pi, gamma_pdf,1.5,0.5;
r_y, gamma_pdf,0.4,0.2;
rho_g, beta_pdf,0.5,0.15;
g_y, normal_pdf, 0,0.05;
rho_tau, beta_pdf,0.5,0.15;
tau_y, normal_pdf,0,0.05;
g_b, normal_pdf,-0.03,0.02;
tau_b, normal_pdf, 0.03,0.01;
csi, beta_pdf,0.7,0.1;
rho_a, beta_pdf,0.8,0.1;
rho_yf,beta_pdf,0.8,0.1;
stderr e_a, inv_gamma_pdf,1.0,4.0;
stderr e_pi, inv_gamma_pdf,0.6,4.0;
stderr e_yf, inv_gamma_pdf,5.0,4.0;
stderr e_r, inv_gamma_pdf,0.4,4.0;
stderr e_g, inv_gamma_pdf,2.0,4.0;
stderr e_tau, inv_gamma_pdf,1.0,4.0;
end;

varobs pi r y g tau;

estimation(datafile=dat,xls_sheet=Sheet1,xls_range=A1:e41,mh_replic=1000,mh_jscale=0.4,mh_nblocks=5,mh_drop=0.5,smoother,filtered_vars,conf_sig=0.95,mode_compute=4) b;










