From e1c13c256a52d4964b87b59d5f1b6113e9246e1c Mon Sep 17 00:00:00 2001 From: george Date: Wed, 25 Mar 2009 16:24:20 +0000 Subject: [PATCH] Test files for AIM that passed comparison of mjdgges and AIM dr.ghx and dr.ghu being equal down to near 0 differences on e-15 git-svn-id: https://www.dynare.org/svn/dynare/trunk@2519 ac1d8469-bf42-47a9-8791-bf33cf982152 --- tests/AIM/fs2000_b1L1L.mod | 106 +++++++++++++++++++++++++++++++++++ tests/AIM/fs2000x10L9_L.mod | 94 +++++++++++++++++++++++++++++++ tests/AIM/fs2000x10_L9_L.mod | 96 +++++++++++++++++++++++++++++++ tests/AIM/ls2003_2L0L.mod | 70 +++++++++++++++++++++++ tests/AIM/ls2003_2L2L.mod | 68 ++++++++++++++++++++++ 5 files changed, 434 insertions(+) create mode 100644 tests/AIM/fs2000_b1L1L.mod create mode 100644 tests/AIM/fs2000x10L9_L.mod create mode 100644 tests/AIM/fs2000x10_L9_L.mod create mode 100644 tests/AIM/ls2003_2L0L.mod create mode 100644 tests/AIM/ls2003_2L2L.mod diff --git a/tests/AIM/fs2000_b1L1L.mod b/tests/AIM/fs2000_b1L1L.mod new file mode 100644 index 000000000..4e542fede --- /dev/null +++ b/tests/AIM/fs2000_b1L1L.mod @@ -0,0 +1,106 @@ +// This file replicates the estimation of the CIA model from +// Frank Schorfheide (2000) "Loss function-based evaluation of DSGE models" +// Journal of Applied Econometrics, 15, 645-670. +// the data are the ones provided on Schorfheide's web site with the programs. +// http://www.econ.upenn.edu/~schorf/programs/dsgesel.ZIP +// You need to have fsdat.m in the same directory as this file. +// This file replicates: +// -the posterior mode as computed by Frank's Gauss programs +// -the parameter mean posterior estimates reported in the paper +// -the model probability (harmonic mean) reported in the paper +// This file was tested with dyn_mat_test_0218.zip +// the smooth shocks are probably stil buggy +// +// The equations are taken from J. Nason and T. Cogley (1994) +// "Testing the implications of long-run neutrality for monetary business +// cycle models" Journal of Applied Econometrics, 9, S37-S70. +// Note that there is an initial minus sign missing in equation (A1), p. S63. +// +// Michel Juillard, February 2004 +options_.usePartInfo=0; +var m P c e W R k d n l gy_obs gp_obs Y_obs P_obs y dA P2 c2; +varexo e_a e_m; + +parameters alp bet gam mst rho psi del; + +alp = 0.33; +bet = 0.99; +gam = 0.003; +mst = 1.011; +rho = 0.7; +psi = 0.787; +del = 0.02; + +model ; +dA = exp(gam+e_a); +log(m) = (1-rho)*log(mst) + rho*log(m(-1))+e_m; +-P/(c(+1)*P(+1)*m)+bet*P(+1)*(alp*exp(-alp*(gam+log(e(+1))))*k^(alp-1)*n(+1)^(1-alp)+(1-del)*exp(-(gam+log(e(+1)))))/(c2(+1)*P2(+1)*m(+1))=0; +W = l/n; +-(psi/(1-psi))*(c*P/(1-n))+l/n = 0; +R = P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(-alp)/W; +1/(c*P)-bet*P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)/(m*l*c(+1)*P(+1)) = 0; +c+k = exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)+(1-del)*exp(-(gam+e_a))*k(-1); +P*c = m; +m-1+d = l; +e = exp(e_a); +y = k(-1)^alp*n^(1-alp)*exp(-alp*(gam+e_a)); +gy_obs = dA*y/y(-1); +gp_obs = (P/P(-1))*m(-1)/dA; +Y_obs/Y_obs(-1) = gy_obs; +P_obs/P_obs(-1) = gp_obs; +P2 = P(+1); +c2 = c(+1); +end; + +initval; +k = 6; +m = mst; +P = 2.25; +c = 0.45; +e = 1; +W = 4; +R = 1.02; +d = 0.85; +n = 0.19; +l = 0.86; +y = 0.6; +gy_obs = exp(gam); +gp_obs = exp(-gam); +dA = exp(gam); +end; + +shocks; +var e_a; stderr 0.014; +var e_m; stderr 0.005; +end; + +unit_root_vars P_obs Y_obs; + +steady; + +check; + +estimated_params; +alp, beta_pdf, 0.356, 0.02; +bet, beta_pdf, 0.993, 0.002; +gam, normal_pdf, 0.0085, 0.003; +mst, normal_pdf, 1.0002, 0.007; +rho, beta_pdf, 0.129, 0.223; +psi, beta_pdf, 0.65, 0.05; +del, beta_pdf, 0.01, 0.005; +stderr e_a, inv_gamma_pdf, 0.035449, inf; +stderr e_m, inv_gamma_pdf, 0.008862, inf; +end; + +varobs P_obs Y_obs; + +observation_trends; +P_obs (log(mst)-gam); +Y_obs (gam); +end; + + +options_.useAIM = 1; +estimation(datafile=fsdat,nobs=192,loglinear,mh_replic=2000, + mode_compute=4,mh_nblocks=2,mh_drop=0.45,mh_jscale=0.65); + diff --git a/tests/AIM/fs2000x10L9_L.mod b/tests/AIM/fs2000x10L9_L.mod new file mode 100644 index 000000000..91ad57c76 --- /dev/null +++ b/tests/AIM/fs2000x10L9_L.mod @@ -0,0 +1,94 @@ +// This file replicates the estimation of the CIA model from +// Frank Schorfheide (2000) "Loss function-based evaluation of DSGE models" +// Journal of Applied Econometrics, 15, 645-670. +// the data are the ones provided on Schorfheide's web site with the programs. +// http://www.econ.upenn.edu/~schorf/programs/dsgesel.ZIP +// You need to have fsdat.m in the same directory as this file. +// This file replicates: +// -the posterior mode as computed by Frank's Gauss programs +// -the parameter mean posterior estimates reported in the paper +// -the model probability (harmonic mean) reported in the paper +// This file was tested with dyn_mat_test_0218.zip +// the smooth shocks are probably stil buggy +// +// The equations are taken from J. Nason and T. Cogley (1994) +// "Testing the implications of long-run neutrality for monetary business +// cycle models" Journal of Applied Econometrics, 9, S37-S70. +// Note that there is an initial minus sign missing in equation (A1), p. S63. +// +// Michel Juillard, February 2004 + +var m P c e W R k d n l gy_obs gp_obs y dA; +varexo e_a e_m; + +parameters alp bet gam mst rho psi del; + +alp = 0.33; +bet = 0.99; +gam = 0.003; +mst = 1.011; +rho = 0.7; +psi = 0.787; +del = 0.02; + +model; +dA = exp(gam+e_a); +log(m) = (1-rho)*log(mst) + rho*log(0.5*m(-1)+0.25*m(-2)+0.13*m(-3)+0.06*m(-4)+0.03*m(-5)+0.015*m(-6)+0.007*m(-7)+0.004*m(-8)+0.003*m(-9)+0.001*m(-10))+e_m; +-P/(((1.3*c(+1)+c(+5)+0.7*c(+9))*(1.3*P(+1)+P(+5)+0.7*P(+9)))*m/9)+bet*((1.3*P(+1)+P(+5)+0.7*P(+9))/3)*(alp*exp(-alp*(gam+log((1.3*e(+1)+e(+5)+0.7*e(+9))/3)))*k^(alp-1)*n(+1)^(1-alp)+(1-del)*exp(-(gam+log(e(+1)))))/(c(+2)*P(+2)*m(+1))=0; +W = l/n; +-(psi/(1-psi))*(c*P/(1-n))+l/n = 0; +R = P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(-alp)/W; +1/(c*P)-bet*P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)/(m*l* (1.3*c(+1)+c(+5)+0.7*c(+9))*(1.3*P(+1)+P(+5)+0.7*P(+9))/9) = 0; +c+k = exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)+(1-del)*exp(-(gam+e_a)*4)*k(-4); +P*c = m; +m-1+d = l; +e = exp(e_a); +y = k(-1)^alp*n^(1-alp)*exp(-alp*(gam+e_a)); +gy_obs = dA*y/y(-1); +gp_obs = (P/P(-1))*m(-1)/dA; +end; + +initval; +k = 6; +m = mst; +P = 2.25; +c = 0.45; +e = 1; +W = 4; +R = 1.02; +d = 0.85; +n = 0.19; +l = 0.86; +y = 0.6; +gy_obs = exp(gam); +gp_obs = exp(-gam); +dA = exp(gam); +end; + +shocks; +var e_a; stderr 0.014; +var e_m; stderr 0.005; +end; + +steady; + +check; + +estimated_params; +alp, beta_pdf, 0.356, 0.02; +bet, beta_pdf, 0.993, 0.002; +gam, normal_pdf, 0.0085, 0.003; +mst, normal_pdf, 1.0002, 0.007; +rho, beta_pdf, 0.129, 0.223; +psi, beta_pdf, 0.65, 0.05; +del, beta_pdf, 0.01, 0.005; +stderr e_a, inv_gamma_pdf, 0.035449, inf; +stderr e_m, inv_gamma_pdf, 0.008862, inf; +end; + +varobs gp_obs gy_obs; + +options_.useAIM = 1; +//stoch_simul m P c e W R k l y + +estimation(datafile=fsdat,nobs=192,loglinear,mh_replic=2000,mh_nblocks=5,mh_jscale=0.8); \ No newline at end of file diff --git a/tests/AIM/fs2000x10_L9_L.mod b/tests/AIM/fs2000x10_L9_L.mod new file mode 100644 index 000000000..42e9f2c5c --- /dev/null +++ b/tests/AIM/fs2000x10_L9_L.mod @@ -0,0 +1,96 @@ +// This file replicates the estimation of the CIA model from +// Frank Schorfheide (2000) "Loss function-based evaluation of DSGE models" +// Journal of Applied Econometrics, 15, 645-670. +// the data are the ones provided on Schorfheide's web site with the programs. +// http://www.econ.upenn.edu/~schorf/programs/dsgesel.ZIP +// You need to have fsdat.m in the same directory as this file. +// This file replicates: +// -the posterior mode as computed by Frank's Gauss programs +// -the parameter mean posterior estimates reported in the paper +// -the model probability (harmonic mean) reported in the paper +// This file was tested with dyn_mat_test_0218.zip +// the smooth shocks are probably stil buggy +// +// The equations are taken from J. Nason and T. Cogley (1994) +// "Testing the implications of long-run neutrality for monetary business +// cycle models" Journal of Applied Econometrics, 9, S37-S70. +// Note that there is an initial minus sign missing in equation (A1), p. S63. +// +// Michel Juillard, February 2004 + +//Model with up to 10 lags and leads up to 9 - but not all, with some missing + +var m P c e W R k d n l gy_obs gp_obs y dA; +varexo e_a e_m; + +parameters alp bet gam mst rho psi del; + +alp = 0.33; +bet = 0.99; +gam = 0.003; +mst = 1.011; +rho = 0.7; +psi = 0.787; +del = 0.02; + +model; +dA = exp(gam+e_a); % missing 0.06*m(-4) and +0.25*m(-2) +log(m) = (1-rho)*log(mst) + rho*log(0.75*m(-1)+0.13*m(-3)+0.09*m(-5)+0.015*m(-6)+0.007*m(-7)+0.004*m(-8)+0.003*m(-9)+0.001*m(-10))+e_m; +-P/(((1.3*c(+1)+c(+5)+0.7*c(+9))*(1.3*P(+1)+P(+5)+0.7*P(+9)))*m/9)+bet*((1.3*P(+1)+P(+5)+0.7*P(+9))/3)*(alp*exp(-alp*(gam+log((1.3*e(+1)+e(+5)+0.7*e(+9))/3)))*k^(alp-1)*n(+1)^(1-alp)+(1-del)*exp(-(gam+log(e(+1)))))/(c(+2)*P(+2)*m(+1))=0; +W = l/n; +-(psi/(1-psi))*(c*P/(1-n))+l/n = 0; +R = P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(-alp)/W; +1/(c*P)-bet*P*(1-alp)*exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)/(m*l* (1.3*c(+1)+c(+5)+0.7*c(+9))*(1.3*P(+1)+P(+5)+0.7*P(+9))/9) = 0; +c+k = exp(-alp*(gam+e_a))*k(-1)^alp*n^(1-alp)+(1-del)*exp(-(gam+e_a)*4)*k(-4); +P*c = m; +m-1+d = l; +e = exp(e_a); +y = k(-1)^alp*n^(1-alp)*exp(-alp*(gam+e_a)); +gy_obs = dA*y/y(-1); +gp_obs = (P/P(-1))*m(-1)/dA; +end; + +initval; +k = 6; +m = mst; +P = 2.25; +c = 0.45; +e = 1; +W = 4; +R = 1.02; +d = 0.85; +n = 0.19; +l = 0.86; +y = 0.6; +gy_obs = exp(gam); +gp_obs = exp(-gam); +dA = exp(gam); +end; + +shocks; +var e_a; stderr 0.014; +var e_m; stderr 0.005; +end; + +steady; + +check; + +estimated_params; +alp, beta_pdf, 0.356, 0.02; +bet, beta_pdf, 0.993, 0.002; +gam, normal_pdf, 0.0085, 0.003; +mst, normal_pdf, 1.0002, 0.007; +rho, beta_pdf, 0.129, 0.223; +psi, beta_pdf, 0.65, 0.05; +del, beta_pdf, 0.01, 0.005; +stderr e_a, inv_gamma_pdf, 0.035449, inf; +stderr e_m, inv_gamma_pdf, 0.008862, inf; +end; + +varobs gp_obs gy_obs; + +options_.useAIM = 0; +//stoch_simul m P c e W R k l y + +estimation(datafile=fsdat,nobs=192,loglinear,mh_replic=2000,mh_nblocks=5,mh_jscale=0.8); \ No newline at end of file diff --git a/tests/AIM/ls2003_2L0L.mod b/tests/AIM/ls2003_2L0L.mod new file mode 100644 index 000000000..e6c9531b5 --- /dev/null +++ b/tests/AIM/ls2003_2L0L.mod @@ -0,0 +1,70 @@ +var y y_s R pie dq pie_s de A y_obs pie_obs R_obs; +varexo e_R e_q e_ys e_pies e_A; + +parameters psi1 psi2 psi3 rho_R tau alpha rr k rho_q rho_A rho_ys rho_pies; + +psi1 = 1.54; +psi2 = 0.25; +psi3 = 0.25; +rho_R = 0.5; +alpha = 0.3; +rr = 2.51; +k = 0.5; +tau = 0.5; +rho_q = 0.4; +rho_A = 0.2; +rho_ys = 0.9; +rho_pies = 0.7; + +// GP extended to see effect of 2 lags and 2 leads +model(linear); +//y = y(+1) - (tau +alpha*(2-alpha)*(1-tau))*(R-pie(+1))-alpha*(tau +alpha*(2-alpha)*(1-tau))*dq(+1) + alpha*(2-alpha)*((1-tau)/tau)*(y_s-y_s(+1))-A(+1); +y = 0.3*y +0.3*y(-1) +0.3*y(-2)-(tau +alpha*(2-alpha)*(1-tau))*(R-pie)-alpha*(tau +alpha*(2-alpha)*(1-tau))*dq + alpha*(2-alpha)*((1-tau)/tau)*(y_s(11)-y_s)-A; +//y = 0.3*y(+2)+0.3*y(+1)+0.3*y(-2) - (tau +alpha*(2-alpha)*(1-tau))*(R-pie(+1))-alpha*(tau +alpha*(2-alpha)*(1-tau))*dq(+1) + alpha*(2-alpha)*((1-tau)/tau)*(y_s-y_s(+1))-A(+1); +//pie = exp(-rr/400)*pie(+1)+alpha*exp(-rr/400)*dq(+1)-alpha*dq+(k/(tau+alpha*(2-alpha)*(1-tau)))*y+alpha*(2-alpha)*(1-tau)/(tau*(tau+alpha*(2-alpha)*(1-tau)))*y_s; +pie = exp(-rr/400)*pie(-1)+alpha*exp(-rr/400)*dq-alpha*dq(-1)+(k/(tau+alpha*(2-alpha)*(1-tau)))*y+alpha*(2-alpha)*(1-tau)/(tau*(tau+alpha*(2-alpha)*(1-tau)))*y_s; +pie = de+(1-alpha)*dq+pie_s; +R = rho_R*R(-1)+(1-rho_R)*(psi1*pie+psi2*(y+alpha*(2-alpha)*((1-tau)/tau)*y_s)+psi3*de)+e_R; +dq = rho_q*dq(-1)+e_q; +y_s = rho_ys*y_s(-1)+e_ys; +//pie_s = rho_pies*pie_s(-1)+e_pies; +pie_s = rho_pies*pie_s(-1)+(1-rho_pies)*pie_s(-2)+e_pies; +A = rho_A*A(-1)+e_A; +y_obs = y-y(-1)+A; +pie_obs = 4*pie; +R_obs = 4*R; +end; + +shocks; +var e_R = 1.25^2; +var e_q = 2.5^2; +var e_A = 1.89; +var e_ys = 1.89; +var e_pies = 1.89; +end; + +varobs y_obs R_obs pie_obs dq de; +check; +estimated_params; +psi1 , gamma_pdf,1.5,0.5; +psi2 , gamma_pdf,0.25,0.125; +psi3 , gamma_pdf,0.25,0.125; +rho_R ,beta_pdf,0.5,0.2; +alpha ,beta_pdf,0.3,0.1; +rr ,gamma_pdf,2.5,1; +k , gamma_pdf,0.5,0.25; +tau ,gamma_pdf,0.5,0.2; +rho_q ,beta_pdf,0.4,0.2; +rho_A ,beta_pdf,0.5,0.2; +rho_ys ,beta_pdf,0.8,0.1; +rho_pies,beta_pdf,0.7,0.15; +stderr e_R,inv_gamma_pdf,1.2533,0.6551; +stderr e_q,inv_gamma_pdf,2.5066,1.3103; +stderr e_A,inv_gamma_pdf,1.2533,0.6551; +stderr e_ys,inv_gamma_pdf,1.2533,0.6551; +stderr e_pies,inv_gamma_pdf,1.88,0.9827; +end; + +options_.useAIM = 1; +estimation(datafile=data_ca1,first_obs=8,nobs=79,mh_nblocks=10,prefilter=1,mh_jscale=0.5,mh_replic=0); + diff --git a/tests/AIM/ls2003_2L2L.mod b/tests/AIM/ls2003_2L2L.mod new file mode 100644 index 000000000..0aabb2256 --- /dev/null +++ b/tests/AIM/ls2003_2L2L.mod @@ -0,0 +1,68 @@ +var y y_s R pie dq pie_s de A y_obs pie_obs R_obs; +varexo e_R e_q e_ys e_pies e_A; + +parameters psi1 psi2 psi3 rho_R tau alpha rr k rho_q rho_A rho_ys rho_pies; + +psi1 = 1.54; +psi2 = 0.25; +psi3 = 0.25; +rho_R = 0.5; +alpha = 0.3; +rr = 2.51; +k = 0.5; +tau = 0.5; +rho_q = 0.4; +rho_A = 0.2; +rho_ys = 0.9; +rho_pies = 0.7; + +// GP extended to see effect of 2 lags and 2 leads +model(linear); +//y = y(+1) - (tau +alpha*(2-alpha)*(1-tau))*(R-pie(+1))-alpha*(tau +alpha*(2-alpha)*(1-tau))*dq(+1) + alpha*(2-alpha)*((1-tau)/tau)*(y_s-y_s(+1))-A(+1); +y = 0.3*y(+2)+0.3*y(+1)+0.3*y(-2) - (tau +alpha*(2-alpha)*(1-tau))*(R-pie(+1))-alpha*(tau +alpha*(2-alpha)*(1-tau))*dq(+1) + alpha*(2-alpha)*((1-tau)/tau)*(y_s-y_s(+1))-A(+1); +pie = exp(-rr/400)*pie(+1)+alpha*exp(-rr/400)*dq(+1)-alpha*dq+(k/(tau+alpha*(2-alpha)*(1-tau)))*y+alpha*(2-alpha)*(1-tau)/(tau*(tau+alpha*(2-alpha)*(1-tau)))*y_s; +pie = de+(1-alpha)*dq+pie_s; +R = rho_R*R(-1)+(1-rho_R)*(psi1*pie+psi2*(y+alpha*(2-alpha)*((1-tau)/tau)*y_s)+psi3*de)+e_R; +dq = rho_q*dq(-1)+e_q; +y_s = rho_ys*y_s(-1)+e_ys; +//pie_s = rho_pies*pie_s(-1)+e_pies; +pie_s = rho_pies*pie_s(-1)+(1-rho_pies)*pie_s(-2)+e_pies; +A = rho_A*A(-1)+e_A; +y_obs = y-y(-1)+A; +pie_obs = 4*pie; +R_obs = 4*R; +end; + +shocks; +var e_R = 1.25^2; +var e_q = 2.5^2; +var e_A = 1.89; +var e_ys = 1.89; +var e_pies = 1.89; +end; + +varobs y_obs R_obs pie_obs dq de; + +estimated_params; +psi1 , gamma_pdf,1.5,0.5; +psi2 , gamma_pdf,0.25,0.125; +psi3 , gamma_pdf,0.25,0.125; +rho_R ,beta_pdf,0.5,0.2; +alpha ,beta_pdf,0.3,0.1; +rr ,gamma_pdf,2.5,1; +k , gamma_pdf,0.5,0.25; +tau ,gamma_pdf,0.5,0.2; +rho_q ,beta_pdf,0.4,0.2; +rho_A ,beta_pdf,0.5,0.2; +rho_ys ,beta_pdf,0.8,0.1; +rho_pies,beta_pdf,0.7,0.15; +stderr e_R,inv_gamma_pdf,1.2533,0.6551; +stderr e_q,inv_gamma_pdf,2.5066,1.3103; +stderr e_A,inv_gamma_pdf,1.2533,0.6551; +stderr e_ys,inv_gamma_pdf,1.2533,0.6551; +stderr e_pies,inv_gamma_pdf,1.88,0.9827; +end; + +options_.useAIM = 1; +estimation(datafile=data_ca1,first_obs=8,nobs=79,mh_nblocks=10,prefilter=1,mh_jscale=0.5,mh_replic=0); +