



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Dynare Program for AKW2010
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc; 
close all;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 1. VARIABLES: 29 variables, 10 shocks
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

var	
y               $y$
c               $c$ 
a               $a$
pi_h            $\pi^{h}$
mc_h            $mc^h$

pi_f            $\pi^{f}$
pi_w            $\pi^w$
mc_w            $mc^w$
pi              $\pi$
w               $w$

psi             $\psi$
s               $s$
q               $q$
d               $d$
i               $i$

r               $r$
y_star          $y^{\star}$
pi_star         $\pi^{\star}$
i_star          $i^{\star}$
z               $z$

mu_c            $\mu^c$
mu_h            $\mu^h$
mu_f            $\mu^f$
mu_w            $\mu^w$
mu_d            $\mu^d$

mu_i            $\mu^i$
d_z             $\Delta z$
d_y             $\Delta y$
d_y_star        $\Delta y^{\star}$
;
  
varexo	
eps_z           $\epsilon^z$
eps_c           $\epsilon^c$
eps_h           $\epsilon^h$ 
eps_f           $\epsilon^f$
eps_w           $\epsilon^w$

eps_d           $\epsilon^d$ 
eps_i           $\epsilon^i$
eps_y_star      $\epsilon^{y \star}$
eps_pi_star 	$\epsilon^{\pi \star}$
eps_i_star      $\epsilon^{i \star}$ 
; 


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 2. PARAMETERS: 29 parameters 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

parameters  	
beta            $\beta$
zeta            $\zeta$
sigma           $\sigma$
vartheta        $\vartheta$
gamma           $\gamma$

eta             $\eta$
chi             $\chi$
phi             $\phi$
theta_h         $\theta_h$
theta_f         $\theta_f$

theta_w         $\theta_w$
varphi_h 		$\varphi_h$
varphi_f 		$\varphi_f$
varphi_w 		$\varphi_w$
rho             $\rho$

varrho_pi       $\varrho_{\pi}$
varrho_y        $\varrho_y$
varrho_d        $\varrho_d$
rho_z           $\rho_z$
rho_c           $\rho_w$

rho_h           $\rho_h$
rho_f           $\rho_f$
rho_w           $\rho_w$
rho_d           $\rho_d$
rho_i           $\rho_i$

rho1_y_star 	$\rho_{1, y \star}$
rho1_pi_star 	$\rho_{1, \pi \star}$
rho1_i_star 	$\rho_{1, i \star}$ 
capxi           $\Xi$
;   


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 3. CALIBRATED PARAMETER VALUES
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

beta = 0.99;
gamma = 0.28;

//chi = 0.01;
//phi = 0;
//varrho_d =0;
capxi = 6; //3;

rho_i = 0;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
% 4. MODEL: 29 equations
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

model(linear);

c = (1/(1+zeta))*c(+1) + (zeta/(1+zeta))*c(-1) - ((1-zeta)/(sigma*(1+zeta)))*(i - pi(+1)) + mu_c; 
y = (1-gamma)*c + (eta*gamma*(2-gamma))*s + gamma*y_star + eta*gamma*psi; 
a - (1/beta)*a(-1) = y - c - gamma*(s + psi);

pi_h = (varphi_h/(1+varphi_h*beta))*pi_h(-1) + (beta/(1+varphi_h*beta))*pi_h(+1) + (((1-theta_h)*(1-theta_h*beta))/(theta_h*(1+varphi_h*beta)))*mc_h + mu_h; 
mc_h = w - z + gamma*s; 
pi_f = (beta/(1+varphi_f*beta))*pi_f(+1) + (varphi_f/(1+varphi_f*beta))*pi_f(-1) + (((1-theta_f)*(1-theta_f*beta))/(theta_f*(1+varphi_f*beta)))*psi + mu_f;
pi_w - varphi_w*pi(-1) = beta*(pi_w(+1) - varphi_w*pi) + ( (1-theta_w)*(1-theta_w*beta)/(theta_w*(1+vartheta*capxi)) )*mc_w + mu_w; 
mc_w = (sigma/(1-zeta))*(c-zeta*c(-1)) + vartheta*(y-z) - w; 

i - i_star = (1-phi)*d(+1) - phi*d - chi*a + mu_d; 
i = rho*i(-1) + (1-rho)*( varrho_pi*pi(+1) + varrho_y*d_y + varrho_d*d ) + mu_i;
//i = rho*i(-1) + (1-rho)*( varrho_pi*pi + varrho_y*d_y + varrho_d*d ) + mu_i;

r = i - pi(+1);
pi = (1-gamma)*pi_h + gamma*pi_f; 
pi_w = w - w(-1) + pi;
q = (1-gamma)*s + psi;
s - s(-1) = pi_f - pi_h; 
q - q(-1) =  d + pi_star - pi; 

z = rho_z*z(-1) + eps_z;
mu_c = rho_c*mu_c(-1) + eps_c;
mu_h = rho_h*mu_h(-1) + eps_h;
mu_f = rho_f*mu_f(-1) + eps_f;
mu_w = rho_w*mu_w(-1) + eps_w;
mu_d = rho_d*mu_d(-1) + eps_d;
mu_i = rho_i*mu_i(-1) + eps_i;

y_star = rho1_y_star*y_star(-1) + eps_y_star; //+ rho2_y_star*y_star(-2) 
pi_star = rho1_pi_star*pi_star(-1) + eps_pi_star; //+ rho2_pi_star*pi_star(-2) 
i_star = rho1_i_star*i_star(-1) + eps_i_star; //+ rho2_i_star*i_star(-2) 

d_z = z - z(-1);
d_y = y - y(-1);
d_y_star = y_star - y_star(-1);

end;

write_latex_dynamic_model;


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 5. BAYESIAN PRIORS 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

estimated_params;
//beta, calibrated; 
zeta,           beta_pdf, 0.7, 0.15; //0.5, 0.25; //0.15; //
sigma,          gamma_pdf, 1.5, 0.37; //1.2, 0.4; //***, 1; //
vartheta,       gamma_pdf, 2, 0.75; //1.5, 0.25; //0.75; //0.5; //
//gamma, calibrated;
 
eta,            gamma_pdf, 1.5, 0.75; //0.5; //1, 0.25; //0.37; //0.25; //
chi,            normal_pdf, 0.01, 0.001;
phi,            beta_pdf, 0.1, 0.2; //0.5, 0.15; //

theta_h,        beta_pdf, 0.5, 0.15; //0.75, 0.15; //
theta_f,        beta_pdf, 0.5, 0.15; //0.75, 0.15; //
theta_w,        beta_pdf, 0.5, 0.15; //0.75, 0.15; //
varphi_h,       beta_pdf, 0.7, 0.15; //0.5, 0.25; //0.15; //
varphi_f,       beta_pdf, 0.7, 0.15; //0.5, 0.25; //0.15; //
varphi_w,       beta_pdf, 0.7, 0.15; //0.5, 0.25; //0.15; //

rho,            beta_pdf, 0.75, 0.15; //0.5, 0.25; //
varrho_pi,      gamma_pdf, 1.5, 0.25, 1; //0.3, 1; //
varrho_y,       gamma_pdf, 0.25, 0.1; //0.12, 0.05; //
varrho_d,       gamma_pdf, 0.12, 0.05; //0.25, 0.13; //

rho_z,          beta_pdf, 0.5, 0.2; //0.7, 0.15; //
rho_c,          beta_pdf, 0.5, 0.2; //0.7, 0.15; //
rho_h,          beta_pdf, 0.5, 0.2; //0.7, 0.15; //
rho_f,          beta_pdf, 0.5, 0.2; //0.7, 0.15; //
rho_w,          beta_pdf, 0.5, 0.2; //0.7, 0.15; //
rho_d,          beta_pdf, 0.5, 0.2; //0.7, 0.15; //
rho_i,          beta_pdf, 0.5, 0.2; //0.7, 0.15; //
rho1_y_star,    beta_pdf, 0.5, 0.2; //0.7, 0.15; //
rho1_pi_star,   beta_pdf, 0.5, 0.2; //0.7, 0.15; //
rho1_i_star,    beta_pdf, 0.5, 0.2; //0.7, 0.15; //
//rho2_y_star,    normal_pdf, 0.2, 0.25; 
//rho2_pi_star,	  normal_pdf, 0.2, 0.25; 
//rho2_i_star,    normal_pdf, 0.2, 0.25; 

stderr eps_z,       	inv_gamma_pdf, 0.005, inf; 
stderr eps_c,       	inv_gamma_pdf, 0.005, inf; 
stderr eps_h,       	inv_gamma_pdf, 0.005, inf; 
stderr eps_f,       	inv_gamma_pdf, 0.005, inf; 
stderr eps_w,       	inv_gamma_pdf, 0.005, inf; 
stderr eps_d,       	inv_gamma_pdf, 0.005, inf; 
stderr eps_i,       	inv_gamma_pdf, 0.005, inf; 
stderr eps_y_star,      inv_gamma_pdf, 0.005, inf; 
stderr eps_pi_star,     inv_gamma_pdf, 0.005, inf; 
stderr eps_i_star,      inv_gamma_pdf, 0.005, inf; 

//dsge_prior_weight,    uniform_pdf,,,0,2;

//capxi, calibrated;
end;


estimated_params_init;
//beta, calibrated; 
zeta,           0.85;
sigma,          1.2;
vartheta,       3;
//gamma, calibrated;
 
eta,            0.5;
chi,            0.01;
phi,            0.3;

theta_h,        0.8;
theta_f,        0.4;
theta_w,        0.6;
varphi_h,       0.5;
varphi_f,       0.5;
varphi_w,       0.5;

rho,            0.7;
varrho_pi,      1.3;
varrho_y,       0.3;
varrho_d,       0.05;

rho_z,          0.7;
rho_c,          0.8;
rho_h,          0.2;
rho_f,          0.8;
rho_w,          0.3;
rho_d,          0.7;
rho_i,          0.3;
rho1_y_star,    0.9;
rho1_pi_star,   0.5;
rho1_i_star,    0.9;
 

stderr eps_z,       	0.015; 
stderr eps_c,       	0.0015; 
stderr eps_h,       	0.007; 
stderr eps_f,       	0.07; 
stderr eps_w,       	0.015; 
stderr eps_d,       	0.003; 
stderr eps_i,       	0.003; 
stderr eps_y_star,      0.005; 
stderr eps_pi_star,     0.0015; 
stderr eps_i_star,      0.001; 

//capxi, calibrated;
end;



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 6. OBSERVED VARIABLES 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

varobs d_y pi pi_h i d d_y_star pi_star i_star pi_w d_z ; 


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 7. ESTIMATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


estimation(nograph, datafile = Data_Brasil, prefilter = 1, mode_compute = 4, 
                mh_nblocks = 2, mh_replic = 20000, mh_drop = 0.45, mh_jscale = 0.35,       
                nobs = [40:55], forecast = 30) y pi pi_h w s q i d r pi_f d_y pi_w d_z d_y_star pi_star i_star;


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 8. DIAGNOSTIC CHECK OF EIGENVALUES 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

check;



