Add unit test for ML with morris
parent
68c9c3e9ab
commit
0c9937f33c
|
@ -6,6 +6,7 @@ MODFILES = \
|
|||
estimation/t_proposal/fs2000_student.mod \
|
||||
gsa/ls2003.mod \
|
||||
gsa/ls2003a.mod \
|
||||
gsa/cod_ML_morris/cod_ML_morris.mod \
|
||||
ramst.mod \
|
||||
ramst_a.mod \
|
||||
ramst_static_tag.mod \
|
||||
|
|
|
@ -0,0 +1,135 @@
|
|||
var c, y_ro, psi, s, tt, pi_h, mc_ro, i_ro, pi_ro, pi_eu, pi_f, y_eu, mc_eu, i_eu, g, a, cp, bnr, gs, as ;
|
||||
varexo eps_a, eps_g, eps_cp, eps_s, eps_m, eps_as, eps_gs, eps_ms;
|
||||
parameters alfa, niu, delt, teta_h, teta_f, bet, fi, sigm, h, ro, psi_pi, tetas, rhos, psi_pis, psi_y, psi_deltay, rho_g, rho_a, rho_cp, rho_s, rho_gs, rho_as ;
|
||||
|
||||
alfa = 0.425 ;
|
||||
bet = 0.99 ;
|
||||
|
||||
niu = 0.6 ;
|
||||
delt = 0.3 ;
|
||||
teta_h = 0.7 ;
|
||||
teta_f = 0.7 ;
|
||||
fi = 2 ;
|
||||
sigm = 0.5 ;
|
||||
h = 0.8 ;
|
||||
ro = 0.5 ;
|
||||
psi_pi = 1.5 ;
|
||||
tetas = 0.7 ;
|
||||
rhos = 0.5 ;
|
||||
psi_pis = 1.5 ;
|
||||
psi_y = 0.25 ;
|
||||
psi_deltay = 0.25 ;
|
||||
rho_g = 0.5 ;
|
||||
rho_a = 0.5 ;
|
||||
rho_cp = 0.5 ;
|
||||
rho_s = 0.5 ;
|
||||
rho_gs = 0.5 ;
|
||||
rho_as = 0.5 ;
|
||||
|
||||
model (linear) ;
|
||||
|
||||
// (1) mk clearing condition
|
||||
(1-alfa) * c = y_ro - alfa * niu* (2-alfa)* tt - alfa * niu * psi - alfa * y_eu ;
|
||||
// (2) terms of trade
|
||||
tt - tt(-1) = pi_f - pi_h ;
|
||||
// (3) terms of trade, real exchange rate, law of one price gap
|
||||
s = psi + (1 - alfa) * tt;
|
||||
// (4) domestic producers price setting
|
||||
pi_h - delt * pi_h(-1) = (1 - teta_h) * (1- bet * teta_h) / teta_h * mc_ro + bet * ( pi_h(+1) - delt * pi_h) ;
|
||||
// (5) domestic real mg costs
|
||||
mc_ro = fi * y_ro - (1 + fi) * a + alfa * tt + sigm / (1-h) * (c - h* c(-1)) ;
|
||||
// (6) importers price setting
|
||||
pi_f - delt * pi_f(-1) = (1 - teta_f) * (1 - bet * teta_f) / teta_f * psi + bet * (pi_f (+1) - delt * pi_f) + cp;
|
||||
// (7) complete mk assumption
|
||||
c - h * c(-1) = y_eu - h * y_eu(-1) + (1 - h) / sigm * (psi + (1 - alfa) * tt) + g ;
|
||||
// (8) domestic inflation
|
||||
pi_ro = pi_h + alfa * (tt - tt(-1)) ;
|
||||
// (9) UIP
|
||||
i_ro - pi_ro(+1) - i_eu + pi_eu(+1) = s(+1) - s + bnr ;
|
||||
// (10) domestic monetary policy rule
|
||||
i_ro = ro * i_ro(-1) + (1 - ro) * (psi_pi * pi_ro + psi_y * y_ro + psi_deltay * (y_ro - y_ro(-1)) ) + eps_m ;
|
||||
// (11) foreign euler equation
|
||||
y_eu - h * y_eu(-1) = y_eu(+1) - h * y_eu - (1 - h) / sigm * (i_eu - pi_eu(+1)) + gs - gs(+1) ;
|
||||
// (12) foreign producers price setting
|
||||
pi_eu = (1 - tetas) * (1 - bet * tetas) / tetas * mc_eu + bet * pi_eu(+1) ;
|
||||
// (13) foreign real mg costs
|
||||
mc_eu = fi * y_eu - (1 + fi) * as + alfa * tt + sigm / (1-h) * (y_eu - h * y_eu(-1)) ;
|
||||
// (14) foreign monetary policy rule
|
||||
i_eu = rhos * i_eu(-1) + (1 - rhos) * (psi_pis * pi_eu + psi_y * y_eu) + eps_ms ;
|
||||
|
||||
// exogenous processes
|
||||
// (15) domestic shock in preferences (demand sh)
|
||||
g = rho_g * g(-1) + eps_g ;
|
||||
// (16) domestic technological shock (supply sh)
|
||||
a = rho_a * a(-1) + eps_a ;
|
||||
// (17) exchange rate shock
|
||||
bnr = rho_s * bnr(-1) + eps_s ;
|
||||
// (18) foreign shock in preferences
|
||||
gs = rho_gs * gs(-1) + eps_gs ;
|
||||
// (19) foreign technological shock
|
||||
as = rho_as * as(-1) + eps_as ;
|
||||
// (20) cost-push shock
|
||||
cp = rho_cp * cp(-1) + eps_cp ;
|
||||
|
||||
end ;
|
||||
|
||||
shocks;
|
||||
var eps_g; stderr 1 ;
|
||||
var eps_a; stderr 1 ;
|
||||
var eps_cp; stderr 1 ;
|
||||
var eps_s; stderr 1 ;
|
||||
var eps_m ; stderr 1 ;
|
||||
var eps_gs; stderr 1 ;
|
||||
var eps_as; stderr 1 ;
|
||||
var eps_ms ; stderr 1 ;
|
||||
end ;
|
||||
|
||||
/* steady ;
|
||||
*/
|
||||
|
||||
check ;
|
||||
|
||||
estimated_params ;
|
||||
niu, 0.6, 0.01, 0.999 ;
|
||||
delt, 0.3, 0.01, 0.999 ;
|
||||
teta_h, 0.7, 0.01, 0.999 ;
|
||||
teta_f, 0.7, 0.01, 0.999 ;
|
||||
fi, 2, 0.01, 5 ;
|
||||
sigm, 0.5, 0.01, 0.999 ;
|
||||
h, 0.8, 0.01, 0.999 ;
|
||||
ro, 0.5, 0.01, 0.999 ;
|
||||
psi_pi, 1.4, 0.01, 8 ;
|
||||
tetas, 0.6, 0.01, 0.999 ;
|
||||
rhos, 0.5, 0.01, 0.999 ;
|
||||
psi_pis, 1.4, 0.01, 8 ;
|
||||
psi_y, 0.25, 0.01, 0.999 ;
|
||||
psi_deltay, 0.25, 0.01, 0.999 ;
|
||||
rho_g, 0.3, 0.01, 0.999 ;
|
||||
rho_a, 0.3, 0.01, 0.999 ;
|
||||
rho_cp, 0.3, 0.01, 0.999 ;
|
||||
rho_s, 0.3, 0.01, 0.999 ;
|
||||
rho_gs, 0.3, 0.01, 0.999 ;
|
||||
rho_as, 0.3, 0.01, 0.999 ;
|
||||
|
||||
stderr eps_g, 1, 0.01, 10 ;
|
||||
stderr eps_a, 1, 0.01, 10 ;
|
||||
stderr eps_cp, 1, 0.01, 10 ;
|
||||
stderr eps_s, 1, 0.01, 10 ;
|
||||
stderr eps_gs, 1, 0.01, 10 ;
|
||||
stderr eps_as, 1, 0.01, 10 ;
|
||||
% corr eps_g, eps_a, 0, -1, 1;
|
||||
end;
|
||||
|
||||
varobs y_ro, pi_ro, i_ro, s, y_eu, pi_eu, i_eu, tt ;
|
||||
|
||||
dynare_sensitivity (identification=1, nsam = 2000, lik_only = 1, morris=2) ;
|
||||
|
||||
stoch_simul(order=2,irf=20) y_ro pi_ro i_ro s ;
|
||||
//order 1 - impulse response functions are simply the algebraic forward iteration of the model's policy
|
||||
//order 2 - impulse response functions will be the result of actual Monte Carlo simulations of future shocks
|
||||
//specify sucient periods in IRFs to see the graphs return to steady state
|
||||
|
||||
check ;
|
||||
|
||||
/* shock_decomposition y_ro ;
|
||||
*/
|
Loading…
Reference in New Issue