From 0104f91f4b1350be84caae9839a609f1b64e909b Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Sun, 7 Jun 2015 12:18:24 +0200 Subject: [PATCH] Replace initval blocks by steady_state_model blocks in fs2000 unit tests Speeds up estimation --- tests/AIM/fs2000_b1L1L.mod | 43 +++++++---- tests/AIM/fs2000_b1L1L_AIM.mod | 44 +++++++---- tests/AIM/fs2000_b1L1L_AIM_steadystate.m | 65 ----------------- tests/AIM/fs2000_b1L1L_steadystate.m | 65 ----------------- tests/Makefile.am | 10 +-- .../fs2000_analytic_derivation.mod | 39 ++++++---- tests/conditional_forecasts/fs2000_cal.mod | 39 ++++++---- tests/conditional_forecasts/fs2000_est.mod | 39 ++++++---- tests/dates/fs2000.mod | 39 ++++++---- tests/estimation/fs2000.mod | 42 +++++++---- .../fs2000_MCMC_jumping_covariance.mod | 39 ++++++---- ...2000_MCMC_jumping_covariance_steadystate.m | 73 ------------------- .../fs2000_calibrated_covariance.mod | 39 ++++++---- .../fs2000_initialize_from_calib.mod | 40 ++++++---- ...fs2000_initialize_from_calib_steadystate.m | 73 ------------------- tests/estimation/fs2000_mf.mod | 39 ++++++---- .../fs2000_filter_step_ahead_ML.mod | 39 ++++++---- .../fs2000_filter_step_ahead_ML_steadystate.m | 73 ------------------- .../fs2000_filter_step_ahead_bayesian.mod | 39 ++++++---- ...0_filter_step_ahead_bayesian_steadystate.m | 73 ------------------- tests/fs2000/fs2000_analytic_derivation.mod | 39 ++++++---- tests/fs2000/fs2000_calib.mod | 39 ++++++---- tests/fs2000/fs2000_calib_dseries.mod | 39 ++++++---- tests/fs2000/fs2000_data.mod | 40 ++++++---- tests/fs2000/fs2000_dseries_a.mod | 40 ++++++---- tests/fs2000/fs2000_dseries_b.mod | 40 ++++++---- tests/fs2000/fs2000_missing_data.mod | 40 ++++++---- tests/fs2000/fs2000_particle.mod | 39 ++++++---- tests/fs2000/fs2000_sd.mod | 39 ++++++---- tests/fs2000/fs2000a.mod | 41 +++++++---- tests/fs2000/fs2000a_steadystate.m | 60 --------------- tests/fs2000/fs2000c.mod | 33 ++++++--- tests/fs2000_nonstationary.mod | 33 ++++++--- tests/gradient/fs2000_numgrad_13.mod | 39 ++++++---- tests/gradient/fs2000_numgrad_15.mod | 39 ++++++---- tests/gradient/fs2000_numgrad_2.mod | 39 ++++++---- tests/gradient/fs2000_numgrad_3.mod | 39 ++++++---- tests/gradient/fs2000_numgrad_5.mod | 39 ++++++---- .../as2007/as2007_steadystate.m | 24 +++--- tests/identification/kim/kim2_steadystate.m | 22 +++--- tests/k_order_perturbation/fs2000k2_m.mod | 39 ++++++---- .../k_order_perturbation/fs2000k2_use_dll.mod | 39 ++++++---- tests/k_order_perturbation/fs2000k2a.mod | 39 ++++++---- tests/k_order_perturbation/fs2000k3_m.mod | 39 ++++++---- tests/k_order_perturbation/fs2000k3_p.mod | 39 ++++++---- .../k_order_perturbation/fs2000k3_use_dll.mod | 39 ++++++---- tests/k_order_perturbation/fs2000k_1_m.mod | 46 +++++++----- .../fs2000k_1_use_dll.mod | 45 +++++++----- tests/kalman_filter_smoother/fs2000.mod | 39 ++++++---- tests/kalman_filter_smoother/fs2000_1.mod | 39 ++++++---- tests/kalman_filter_smoother/fs2000_2.mod | 39 ++++++---- .../fs2000_smoother_only.mod | 39 ++++++---- tests/kalman_filter_smoother/fs2000a.mod | 41 +++++++---- .../fs2000a_steadystate.m | 60 --------------- .../fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod | 39 ++++++---- .../fs2000_corr_ME_steadystate.m | 73 ------------------- tests/smoother2histval/fs2000_simul.mod | 39 ++++++---- tests/smoother2histval/fs2000_smooth.mod | 39 ++++++---- .../fs2000_smooth_stoch_simul.mod | 39 ++++++---- tests/steady_state/walsh1_old_ss.mod | 16 ++-- .../steady_state/walsh1_old_ss_steadystate.m | 58 ++++++++------- 61 files changed, 1215 insertions(+), 1385 deletions(-) delete mode 100644 tests/AIM/fs2000_b1L1L_AIM_steadystate.m delete mode 100644 tests/AIM/fs2000_b1L1L_steadystate.m delete mode 100644 tests/estimation/fs2000_MCMC_jumping_covariance_steadystate.m delete mode 100644 tests/estimation/fs2000_initialize_from_calib_steadystate.m delete mode 100644 tests/filter_step_ahead/fs2000_filter_step_ahead_ML_steadystate.m delete mode 100644 tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian_steadystate.m delete mode 100644 tests/fs2000/fs2000a_steadystate.m delete mode 100644 tests/kalman_filter_smoother/fs2000a_steadystate.m delete mode 100644 tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME_steadystate.m diff --git a/tests/AIM/fs2000_b1L1L.mod b/tests/AIM/fs2000_b1L1L.mod index 0a64f8e9c..2160661d5 100644 --- a/tests/AIM/fs2000_b1L1L.mod +++ b/tests/AIM/fs2000_b1L1L.mod @@ -52,21 +52,34 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; + Y_obs = 1; + P_obs = 1; + P2 = P; + c2 = c; end; shocks; diff --git a/tests/AIM/fs2000_b1L1L_AIM.mod b/tests/AIM/fs2000_b1L1L_AIM.mod index 9a4b359cd..71a0ec1ad 100644 --- a/tests/AIM/fs2000_b1L1L_AIM.mod +++ b/tests/AIM/fs2000_b1L1L_AIM.mod @@ -52,23 +52,37 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; + Y_obs = 1; + P_obs = 1; + P2 = P; + c2 = c; end; + shocks; var e_a; stderr 0.014; var e_m; stderr 0.005; diff --git a/tests/AIM/fs2000_b1L1L_AIM_steadystate.m b/tests/AIM/fs2000_b1L1L_AIM_steadystate.m deleted file mode 100644 index eea49707d..000000000 --- a/tests/AIM/fs2000_b1L1L_AIM_steadystate.m +++ /dev/null @@ -1,65 +0,0 @@ -% computes the steady state of fs2000 analyticaly -% largely inspired by the program of F. Schorfheide -function [ys,check] = fs2000k_steadystate(ys,exe) - global M_ - - alp = M_.params(1); - bet = M_.params(2); - gam = M_.params(3); - mst = M_.params(4); - rho = M_.params(5); - psi = M_.params(6); - del = M_.params(7); - - check = 0; - - dA = exp(gam); - gst = 1/dA; - m = mst; - - khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); - xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); - nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); - n = xist/(nust+xist); - P = xist + nust; - k = khst*n; - - l = psi*mst*n/( (1-psi)*(1-n) ); - c = mst/P; - d = l - mst + 1; - y = k^alp*n^(1-alp)*gst^alp; - R = mst/bet; - W = l/n; - ist = y-c; - q = 1 - d; - - e = 1; - - gp_obs = m/dA; - gy_obs = dA; - - P_obs = 1; - Y_obs = 1; - - P2=P; - c2=c; - - ys =[ - m - P - c - e - W - R - k - d - n - l - gy_obs - gp_obs - Y_obs - P_obs - y - dA - P2 - c2 ]; \ No newline at end of file diff --git a/tests/AIM/fs2000_b1L1L_steadystate.m b/tests/AIM/fs2000_b1L1L_steadystate.m deleted file mode 100644 index 24b9ebc27..000000000 --- a/tests/AIM/fs2000_b1L1L_steadystate.m +++ /dev/null @@ -1,65 +0,0 @@ -% computes the steady state of fs2000 analyticaly -% largely inspired by the program of F. Schorfheide -function [ys,check] = fs2000_b1L1L_steadystate(ys,exe) - global M_ - - alp = M_.params(1); - bet = M_.params(2); - gam = M_.params(3); - mst = M_.params(4); - rho = M_.params(5); - psi = M_.params(6); - del = M_.params(7); - - check = 0; - - dA = exp(gam); - gst = 1/dA; - m = mst; - - khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); - xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); - nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); - n = xist/(nust+xist); - P = xist + nust; - k = khst*n; - - l = psi*mst*n/( (1-psi)*(1-n) ); - c = mst/P; - d = l - mst + 1; - y = k^alp*n^(1-alp)*gst^alp; - R = mst/bet; - W = l/n; - ist = y-c; - q = 1 - d; - - e = 1; - - gp_obs = m/dA; - gy_obs = dA; - - P_obs = 1; - Y_obs = 1; - - P2=P; - c2=c; - - ys =[ - m - P - c - e - W - R - k - d - n - l - gy_obs - gp_obs - Y_obs - P_obs - y - dA - P2 - c2 ]; \ No newline at end of file diff --git a/tests/Makefile.am b/tests/Makefile.am index 706ff4074..c6c300f80 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -353,8 +353,6 @@ EXTRA_DIST = \ printMakeCheckOctaveErrMsg.m \ fataltest.m \ AIM/data_ca1.m \ - AIM/fs2000_b1L1L_AIM_steadystate.m \ - AIM/fs2000_b1L1L_steadystate.m \ AIM/fsdat.m \ block_bytecode/run_ls2003.m \ bvar_a_la_sims/bvar_sample.m \ @@ -365,12 +363,10 @@ EXTRA_DIST = \ steady_state/walsh1_old_ss_steadystate.m \ data/test.xls \ analytic_derivatives/fsdat_simul.m \ - fs2000/fs2000a_steadystate.m \ fs2000/fsdat_simul.m \ k_order_perturbation/run_fs2000kplusplus.m \ ls2003/data_ca1.m \ measurement_errors/data_ca1.m \ - measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME_steadystate.m \ measurement_errors/fs2000_corr_me_ml_mcmc/fsdat_simul.m \ missing/simulate_data_with_missing_observations.m \ objectives/sgu_ex1.mat \ @@ -393,18 +389,14 @@ EXTRA_DIST = \ ms-sbvar/archive-files/specification_2v2c.dat \ recursive/data_ca1.m \ kalman_filter_smoother/fsdat_simul.m \ - kalman_filter_smoother/fs2000a_steadystate.m \ identification/kim/kim2_steadystate.m \ + identification/as2007/as2007_steadystate.m \ estimation/fsdat_simul.m \ ep/mean_preserving_spread.m \ third_order/comparison_policy_functions_dynare_mathematica.m \ third_order/policyfunctions.mat \ shock_decomposition/example1_calib_shock_decomp_data.mat \ shock_decomposition/fsdat_simul.m \ - estimation/fs2000_MCMC_jumping_covariance_steadystate.m \ - estimation/fs2000_initialize_from_calib_steadystate.m \ - filter_step_ahead/fs2000_filter_step_ahead_bayesian_steadystate.m \ - filter_step_ahead/fs2000_filter_step_ahead_ML_steadystate.m \ loglinear/results_exp.mat \ smoother2histval/fsdat_simul.m \ optimal_policy/Ramsey/find_c.m \ diff --git a/tests/analytic_derivatives/fs2000_analytic_derivation.mod b/tests/analytic_derivatives/fs2000_analytic_derivation.mod index 3dc8b7ad0..46fed4416 100644 --- a/tests/analytic_derivatives/fs2000_analytic_derivation.mod +++ b/tests/analytic_derivatives/fs2000_analytic_derivation.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/conditional_forecasts/fs2000_cal.mod b/tests/conditional_forecasts/fs2000_cal.mod index 4b63fd554..3e3c8cd01 100644 --- a/tests/conditional_forecasts/fs2000_cal.mod +++ b/tests/conditional_forecasts/fs2000_cal.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/conditional_forecasts/fs2000_est.mod b/tests/conditional_forecasts/fs2000_est.mod index 6f07765f7..79f8d8c2a 100644 --- a/tests/conditional_forecasts/fs2000_est.mod +++ b/tests/conditional_forecasts/fs2000_est.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/dates/fs2000.mod b/tests/dates/fs2000.mod index 79209edd1..897f78b5f 100644 --- a/tests/dates/fs2000.mod +++ b/tests/dates/fs2000.mod @@ -32,21 +32,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/estimation/fs2000.mod b/tests/estimation/fs2000.mod index 981dd35f6..3b51be014 100644 --- a/tests/estimation/fs2000.mod +++ b/tests/estimation/fs2000.mod @@ -30,23 +30,33 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; + shocks; var e_a; stderr 0.014; var e_m; stderr 0.005; @@ -72,4 +82,4 @@ varobs gp_obs gy_obs; options_.solve_tolf = 1e-12; -estimation(order=1,datafile=fsdat_simul,nobs=192,loglinear,mh_replic=2000,mh_nblocks=2,mh_jscale=0.8); +estimation(order=1,datafile=fsdat_simul,nobs=192,loglinear,mh_replic=3000,mh_nblocks=2,mh_jscale=0.8,moments_varendo,selected_variables_only) y m; diff --git a/tests/estimation/fs2000_MCMC_jumping_covariance.mod b/tests/estimation/fs2000_MCMC_jumping_covariance.mod index f4614b4f4..91a6f20d8 100644 --- a/tests/estimation/fs2000_MCMC_jumping_covariance.mod +++ b/tests/estimation/fs2000_MCMC_jumping_covariance.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/estimation/fs2000_MCMC_jumping_covariance_steadystate.m b/tests/estimation/fs2000_MCMC_jumping_covariance_steadystate.m deleted file mode 100644 index 1f7d9dbd6..000000000 --- a/tests/estimation/fs2000_MCMC_jumping_covariance_steadystate.m +++ /dev/null @@ -1,73 +0,0 @@ -% computes the steady state of fs2000 analyticaly -% largely inspired by the program of F. Schorfheide - -% Copyright (C) 2004-2010 Dynare Team -% -% This file is part of Dynare. -% -% Dynare is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% Dynare is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with Dynare. If not, see . - -function [ys,check] = fs2000_MCMC_jumping_covariance_steadystate(ys,exe) - global M_ - - alp = M_.params(1); - bet = M_.params(2); - gam = M_.params(3); - mst = M_.params(4); - rho = M_.params(5); - psi = M_.params(6); - del = M_.params(7); - - check = 0; - - dA = exp(gam); - gst = 1/dA; - m = mst; - - khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); - xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); - nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); - n = xist/(nust+xist); - P = xist + nust; - k = khst*n; - - l = psi*mst*n/( (1-psi)*(1-n) ); - c = mst/P; - d = l - mst + 1; - y = k^alp*n^(1-alp)*gst^alp; - R = mst/bet; - W = l/n; - ist = y-c; - q = 1 - d; - - e = 1; - - gp_obs = m/dA; - gy_obs = dA; - - ys =[ -m -P -c -e -W -R -k -d -n -l -gy_obs -gp_obs -y -dA ]; diff --git a/tests/estimation/fs2000_calibrated_covariance.mod b/tests/estimation/fs2000_calibrated_covariance.mod index 0321112c3..79d309786 100644 --- a/tests/estimation/fs2000_calibrated_covariance.mod +++ b/tests/estimation/fs2000_calibrated_covariance.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; varobs gp_obs gy_obs; diff --git a/tests/estimation/fs2000_initialize_from_calib.mod b/tests/estimation/fs2000_initialize_from_calib.mod index 917e56a51..4cf0c742b 100644 --- a/tests/estimation/fs2000_initialize_from_calib.mod +++ b/tests/estimation/fs2000_initialize_from_calib.mod @@ -29,23 +29,33 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; + shocks; var e_a; stderr 0.014; var e_m; stderr 0.005; diff --git a/tests/estimation/fs2000_initialize_from_calib_steadystate.m b/tests/estimation/fs2000_initialize_from_calib_steadystate.m deleted file mode 100644 index 2ac140da5..000000000 --- a/tests/estimation/fs2000_initialize_from_calib_steadystate.m +++ /dev/null @@ -1,73 +0,0 @@ -% computes the steady state of fs2000 analyticaly -% largely inspired by the program of F. Schorfheide - -% Copyright (C) 2004-2010 Dynare Team -% -% This file is part of Dynare. -% -% Dynare is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% Dynare is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with Dynare. If not, see . - -function [ys,check] = fs2000_steadystate(ys,exe) - global M_ - - alp = M_.params(1); - bet = M_.params(2); - gam = M_.params(3); - mst = M_.params(4); - rho = M_.params(5); - psi = M_.params(6); - del = M_.params(7); - - check = 0; - - dA = exp(gam); - gst = 1/dA; - m = mst; - - khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); - xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); - nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); - n = xist/(nust+xist); - P = xist + nust; - k = khst*n; - - l = psi*mst*n/( (1-psi)*(1-n) ); - c = mst/P; - d = l - mst + 1; - y = k^alp*n^(1-alp)*gst^alp; - R = mst/bet; - W = l/n; - ist = y-c; - q = 1 - d; - - e = 1; - - gp_obs = m/dA; - gy_obs = dA; - - ys =[ -m -P -c -e -W -R -k -d -n -l -gy_obs -gp_obs -y -dA ]; diff --git a/tests/estimation/fs2000_mf.mod b/tests/estimation/fs2000_mf.mod index 3178165af..d2c82a2a8 100644 --- a/tests/estimation/fs2000_mf.mod +++ b/tests/estimation/fs2000_mf.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/filter_step_ahead/fs2000_filter_step_ahead_ML.mod b/tests/filter_step_ahead/fs2000_filter_step_ahead_ML.mod index 43b013677..9de6f5299 100644 --- a/tests/filter_step_ahead/fs2000_filter_step_ahead_ML.mod +++ b/tests/filter_step_ahead/fs2000_filter_step_ahead_ML.mod @@ -65,21 +65,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/filter_step_ahead/fs2000_filter_step_ahead_ML_steadystate.m b/tests/filter_step_ahead/fs2000_filter_step_ahead_ML_steadystate.m deleted file mode 100644 index 2ac140da5..000000000 --- a/tests/filter_step_ahead/fs2000_filter_step_ahead_ML_steadystate.m +++ /dev/null @@ -1,73 +0,0 @@ -% computes the steady state of fs2000 analyticaly -% largely inspired by the program of F. Schorfheide - -% Copyright (C) 2004-2010 Dynare Team -% -% This file is part of Dynare. -% -% Dynare is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% Dynare is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with Dynare. If not, see . - -function [ys,check] = fs2000_steadystate(ys,exe) - global M_ - - alp = M_.params(1); - bet = M_.params(2); - gam = M_.params(3); - mst = M_.params(4); - rho = M_.params(5); - psi = M_.params(6); - del = M_.params(7); - - check = 0; - - dA = exp(gam); - gst = 1/dA; - m = mst; - - khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); - xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); - nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); - n = xist/(nust+xist); - P = xist + nust; - k = khst*n; - - l = psi*mst*n/( (1-psi)*(1-n) ); - c = mst/P; - d = l - mst + 1; - y = k^alp*n^(1-alp)*gst^alp; - R = mst/bet; - W = l/n; - ist = y-c; - q = 1 - d; - - e = 1; - - gp_obs = m/dA; - gy_obs = dA; - - ys =[ -m -P -c -e -W -R -k -d -n -l -gy_obs -gp_obs -y -dA ]; diff --git a/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian.mod b/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian.mod index f9eb5652a..9e1815ada 100644 --- a/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian.mod +++ b/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian.mod @@ -65,21 +65,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian_steadystate.m b/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian_steadystate.m deleted file mode 100644 index 2ac140da5..000000000 --- a/tests/filter_step_ahead/fs2000_filter_step_ahead_bayesian_steadystate.m +++ /dev/null @@ -1,73 +0,0 @@ -% computes the steady state of fs2000 analyticaly -% largely inspired by the program of F. Schorfheide - -% Copyright (C) 2004-2010 Dynare Team -% -% This file is part of Dynare. -% -% Dynare is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% Dynare is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with Dynare. If not, see . - -function [ys,check] = fs2000_steadystate(ys,exe) - global M_ - - alp = M_.params(1); - bet = M_.params(2); - gam = M_.params(3); - mst = M_.params(4); - rho = M_.params(5); - psi = M_.params(6); - del = M_.params(7); - - check = 0; - - dA = exp(gam); - gst = 1/dA; - m = mst; - - khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); - xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); - nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); - n = xist/(nust+xist); - P = xist + nust; - k = khst*n; - - l = psi*mst*n/( (1-psi)*(1-n) ); - c = mst/P; - d = l - mst + 1; - y = k^alp*n^(1-alp)*gst^alp; - R = mst/bet; - W = l/n; - ist = y-c; - q = 1 - d; - - e = 1; - - gp_obs = m/dA; - gy_obs = dA; - - ys =[ -m -P -c -e -W -R -k -d -n -l -gy_obs -gp_obs -y -dA ]; diff --git a/tests/fs2000/fs2000_analytic_derivation.mod b/tests/fs2000/fs2000_analytic_derivation.mod index a1c589c2a..ae324c5ba 100644 --- a/tests/fs2000/fs2000_analytic_derivation.mod +++ b/tests/fs2000/fs2000_analytic_derivation.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/fs2000/fs2000_calib.mod b/tests/fs2000/fs2000_calib.mod index d826df0b5..b40f8e9bc 100644 --- a/tests/fs2000/fs2000_calib.mod +++ b/tests/fs2000/fs2000_calib.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/fs2000/fs2000_calib_dseries.mod b/tests/fs2000/fs2000_calib_dseries.mod index 18e41f33c..f06c90493 100644 --- a/tests/fs2000/fs2000_calib_dseries.mod +++ b/tests/fs2000/fs2000_calib_dseries.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/fs2000/fs2000_data.mod b/tests/fs2000/fs2000_data.mod index 23018eedd..da58096a2 100644 --- a/tests/fs2000/fs2000_data.mod +++ b/tests/fs2000/fs2000_data.mod @@ -30,23 +30,33 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; + shocks; var e_a; stderr 0.014; var e_m; stderr 0.005; diff --git a/tests/fs2000/fs2000_dseries_a.mod b/tests/fs2000/fs2000_dseries_a.mod index 1210e7425..aec807b04 100644 --- a/tests/fs2000/fs2000_dseries_a.mod +++ b/tests/fs2000/fs2000_dseries_a.mod @@ -30,23 +30,33 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; + shocks; var e_a; stderr 0.014; var e_m; stderr 0.005; diff --git a/tests/fs2000/fs2000_dseries_b.mod b/tests/fs2000/fs2000_dseries_b.mod index c2e31087c..18759c685 100644 --- a/tests/fs2000/fs2000_dseries_b.mod +++ b/tests/fs2000/fs2000_dseries_b.mod @@ -30,23 +30,33 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; + shocks; var e_a; stderr 0.014; var e_m; stderr 0.005; diff --git a/tests/fs2000/fs2000_missing_data.mod b/tests/fs2000/fs2000_missing_data.mod index 1c02fd456..2ef89c2b8 100644 --- a/tests/fs2000/fs2000_missing_data.mod +++ b/tests/fs2000/fs2000_missing_data.mod @@ -30,23 +30,33 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; + shocks; var e_a; stderr 0.014; var e_m; stderr 0.005; diff --git a/tests/fs2000/fs2000_particle.mod b/tests/fs2000/fs2000_particle.mod index 82f8e4179..05ad37c3a 100644 --- a/tests/fs2000/fs2000_particle.mod +++ b/tests/fs2000/fs2000_particle.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/fs2000/fs2000_sd.mod b/tests/fs2000/fs2000_sd.mod index 3f517398d..a3f556c55 100644 --- a/tests/fs2000/fs2000_sd.mod +++ b/tests/fs2000/fs2000_sd.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/fs2000/fs2000a.mod b/tests/fs2000/fs2000a.mod index 783ecb71d..210417e4f 100644 --- a/tests/fs2000/fs2000a.mod +++ b/tests/fs2000/fs2000a.mod @@ -33,21 +33,32 @@ Y_obs/Y_obs(-1) = gy_obs; P_obs/P_obs(-1) = gp_obs; 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gy_obs = exp(gam); + gp_obs = exp(-gam); + Y_obs=gy_obs; + P_obs=gp_obs; end; shocks; diff --git a/tests/fs2000/fs2000a_steadystate.m b/tests/fs2000/fs2000a_steadystate.m deleted file mode 100644 index 0692f23e0..000000000 --- a/tests/fs2000/fs2000a_steadystate.m +++ /dev/null @@ -1,60 +0,0 @@ -% computes the steady state of fs2000 analyticaly -% largely inspired by the program of F. Schorfheide -function [ys,check] = fs2000a_steadystate(ys,exe) - global M_ - - alp = M_.params(1); - bet = M_.params(2); - gam = M_.params(3); - mst = M_.params(4); - rho = M_.params(5); - psi = M_.params(6); - del = M_.params(7); - - check = 0; - - dA = exp(gam); - gst = 1/dA; - m = mst; - - khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); - xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); - nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); - n = xist/(nust+xist); - P = xist + nust; - k = khst*n; - - l = psi*mst*n/( (1-psi)*(1-n) ); - c = mst/P; - d = l - mst + 1; - y = k^alp*n^(1-alp)*gst^alp; - R = mst/bet; - W = l/n; - ist = y-c; - q = 1 - d; - - e = 1; - - gp_obs = m/dA; - gy_obs = dA; - - P_obs = 1; - Y_obs = 1; - - ys =[ -m -P -c -e -W -R -k -d -n -l -gy_obs -gp_obs -Y_obs -P_obs -y -dA ]; \ No newline at end of file diff --git a/tests/fs2000/fs2000c.mod b/tests/fs2000/fs2000c.mod index c7518083b..76e71a9c4 100644 --- a/tests/fs2000/fs2000c.mod +++ b/tests/fs2000/fs2000c.mod @@ -35,18 +35,27 @@ M-M(-1)+d = l; y = k(-1)^alp*(A*n)^(1-alp); end; -initval; -k = 6; -gM = mst; -P = 2.25; -c = 0.45; -W = 4; -R = 1.02; -d = 0.85; -n = 0.19; -l = 0.86; -y = 0.6; -gA = exp(gam); +steady_state_model; + gA = exp(gam); + gst = 1/gA; + gM = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; end; shocks; diff --git a/tests/fs2000_nonstationary.mod b/tests/fs2000_nonstationary.mod index 38546afd2..e26afed2c 100644 --- a/tests/fs2000_nonstationary.mod +++ b/tests/fs2000_nonstationary.mod @@ -59,18 +59,27 @@ M-M(-1)+d = l; y = k(-1)^alp*(A*n)^(1-alp); end; -initval; -k = 6; -gM = mst; -P = 2.25; -c = 0.45; -W = 4; -R = 1.02; -d = 0.85; -n = 0.19; -l = 0.86; -y = 0.6; -gA = exp(gam); +steady_state_model; + gA = exp(gam); + gst = 1/gA; + gM = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; end; shocks; diff --git a/tests/gradient/fs2000_numgrad_13.mod b/tests/gradient/fs2000_numgrad_13.mod index 26a86c1a3..30be9d985 100644 --- a/tests/gradient/fs2000_numgrad_13.mod +++ b/tests/gradient/fs2000_numgrad_13.mod @@ -28,21 +28,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/gradient/fs2000_numgrad_15.mod b/tests/gradient/fs2000_numgrad_15.mod index a5b90ebeb..e5a333031 100644 --- a/tests/gradient/fs2000_numgrad_15.mod +++ b/tests/gradient/fs2000_numgrad_15.mod @@ -28,21 +28,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/gradient/fs2000_numgrad_2.mod b/tests/gradient/fs2000_numgrad_2.mod index c58a57a70..3b022b147 100644 --- a/tests/gradient/fs2000_numgrad_2.mod +++ b/tests/gradient/fs2000_numgrad_2.mod @@ -28,21 +28,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/gradient/fs2000_numgrad_3.mod b/tests/gradient/fs2000_numgrad_3.mod index 05a55e1bb..36769fa16 100644 --- a/tests/gradient/fs2000_numgrad_3.mod +++ b/tests/gradient/fs2000_numgrad_3.mod @@ -28,21 +28,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/gradient/fs2000_numgrad_5.mod b/tests/gradient/fs2000_numgrad_5.mod index 302eaeccc..2dd38282d 100644 --- a/tests/gradient/fs2000_numgrad_5.mod +++ b/tests/gradient/fs2000_numgrad_5.mod @@ -28,21 +28,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/identification/as2007/as2007_steadystate.m b/tests/identification/as2007/as2007_steadystate.m index 5d45f2c2c..473207a0b 100644 --- a/tests/identification/as2007/as2007_steadystate.m +++ b/tests/identification/as2007/as2007_steadystate.m @@ -1,6 +1,6 @@ -function [ys,check1]=as2007_steadystate(junk, ys) +function [ys,check1]=as2007_steadystate(ys,exo) -global M_ options_ +global M_ for j=1:size(M_.param_names,1) eval([deblank(M_.param_names(j,:)),' = M_.params(j);']) @@ -21,12 +21,14 @@ YGR=gam_steady; INFL = pi_steady; INT = pi_steady+rr_steady+4*gam_steady; -ys=[ -pie -y -R -g -z -YGR -INFL -INT]; \ No newline at end of file +%% end own model equations + +for iter = 1:length(M_.params) %update parameters set in the file + eval([ 'M_.params(' num2str(iter) ') = ' M_.param_names(iter,:) ';' ]) +end + +NumberOfEndogenousVariables = M_.orig_endo_nbr; %auxiliary variables are set automatically +for ii = 1:NumberOfEndogenousVariables + varname = deblank(M_.endo_names(ii,:)); + eval(['ys(' int2str(ii) ') = ' varname ';']); +end diff --git a/tests/identification/kim/kim2_steadystate.m b/tests/identification/kim/kim2_steadystate.m index 3801dd350..ffbd641ed 100644 --- a/tests/identification/kim/kim2_steadystate.m +++ b/tests/identification/kim/kim2_steadystate.m @@ -1,6 +1,6 @@ -function [ys,check1]=kim2_steadystate(junk, ys) +function [ys,check1]=kim2_steadystate(ys,exo) -global M_ options_ +global M_ for j=1:size(M_.param_names,1) eval([deblank(M_.param_names(j,:)),' = M_.params(j);']) @@ -19,10 +19,14 @@ i=delta*k; c=(((a*k^alph)^(1+theta)-s*(i/s)^(1+theta))/(1-s))^(1/(1+theta))*(1-s); lam = (1-s)^theta/c^(1+theta)/(1+theta); -ys=[ - c - k - i - a - lam - ]; \ No newline at end of file +%% end own model equations + +for iter = 1:length(M_.params) %update parameters set in the file + eval([ 'M_.params(' num2str(iter) ') = ' M_.param_names(iter,:) ';' ]) +end + +NumberOfEndogenousVariables = M_.orig_endo_nbr; %auxiliary variables are set automatically +for ii = 1:NumberOfEndogenousVariables + varname = deblank(M_.endo_names(ii,:)); + eval(['ys(' int2str(ii) ') = ' varname ';']); +end diff --git a/tests/k_order_perturbation/fs2000k2_m.mod b/tests/k_order_perturbation/fs2000k2_m.mod index 8d7a606ae..e205f375e 100644 --- a/tests/k_order_perturbation/fs2000k2_m.mod +++ b/tests/k_order_perturbation/fs2000k2_m.mod @@ -31,21 +31,30 @@ gy_obs = dA*y/y(-1); gp_obs = (P/P(-1))*m(-1)/dA; end; -initval; -m = mst; -P = 2.25; -c = 0.45; -e = 1; -W = 4; -R = 1.02; -k = 6; -d = 0.85; -n = 0.19; -l = 0.86; -y = 0.6; -gy_obs = exp(gam); -gp_obs = exp(-gam); -dA = exp(gam); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/k_order_perturbation/fs2000k2_use_dll.mod b/tests/k_order_perturbation/fs2000k2_use_dll.mod index af7f2fb52..177d7aa40 100644 --- a/tests/k_order_perturbation/fs2000k2_use_dll.mod +++ b/tests/k_order_perturbation/fs2000k2_use_dll.mod @@ -31,21 +31,30 @@ gy_obs = dA*y/y(-1); gp_obs = (P/P(-1))*m(-1)/dA; end; -initval; -m = mst; -P = 2.25; -c = 0.45; -e = 1; -W = 4; -R = 1.02; -k = 6; -d = 0.85; -n = 0.19; -l = 0.86; -y = 0.6; -gy_obs = exp(gam); -gp_obs = exp(-gam); -dA = exp(gam); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/k_order_perturbation/fs2000k2a.mod b/tests/k_order_perturbation/fs2000k2a.mod index de811d2f6..362fc4d94 100644 --- a/tests/k_order_perturbation/fs2000k2a.mod +++ b/tests/k_order_perturbation/fs2000k2a.mod @@ -31,21 +31,30 @@ gy_obs = dA*y/y(-1); gp_obs = (P/P(-1))*m(-1)/dA; end; -initval; -m = mst; -P = 2.25; -c = 0.45; -e = 1; -W = 4; -R = 1.02; -k = 6; -d = 0.85; -n = 0.19; -l = 0.86; -y = 0.6; -gy_obs = exp(gam); -gp_obs = exp(-gam); -dA = exp(gam); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/k_order_perturbation/fs2000k3_m.mod b/tests/k_order_perturbation/fs2000k3_m.mod index a3130b141..617d821c7 100644 --- a/tests/k_order_perturbation/fs2000k3_m.mod +++ b/tests/k_order_perturbation/fs2000k3_m.mod @@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1); gp_obs = (P/P(-1))*m(-1)/dA; end; -initval; -m = mst; -P = 2.25; -c = 0.45; -e = 1; -W = 4; -R = 1.02; -k = 6; -d = 0.85; -n = 0.19; -l = 0.86; -y = 0.6; -gy_obs = exp(gam); -gp_obs = exp(-gam); -dA = exp(gam); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/k_order_perturbation/fs2000k3_p.mod b/tests/k_order_perturbation/fs2000k3_p.mod index 2d0c6bff1..234d53db8 100644 --- a/tests/k_order_perturbation/fs2000k3_p.mod +++ b/tests/k_order_perturbation/fs2000k3_p.mod @@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1); gp_obs = (P/P(-1))*m(-1)/dA; end; -initval; -m = mst; -P = 2.25; -c = 0.45; -e = 1; -W = 4; -R = 1.02; -k = 6; -d = 0.85; -n = 0.19; -l = 0.86; -y = 0.6; -gy_obs = exp(gam); -gp_obs = exp(-gam); -dA = exp(gam); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/k_order_perturbation/fs2000k3_use_dll.mod b/tests/k_order_perturbation/fs2000k3_use_dll.mod index e7c201522..9dc84afb5 100644 --- a/tests/k_order_perturbation/fs2000k3_use_dll.mod +++ b/tests/k_order_perturbation/fs2000k3_use_dll.mod @@ -30,21 +30,30 @@ gy_obs = dA*y/y(-1); gp_obs = (P/P(-1))*m(-1)/dA; end; -initval; -m = mst; -P = 2.25; -c = 0.45; -e = 1; -W = 4; -R = 1.02; -k = 6; -d = 0.85; -n = 0.19; -l = 0.86; -y = 0.6; -gy_obs = exp(gam); -gp_obs = exp(-gam); -dA = exp(gam); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/k_order_perturbation/fs2000k_1_m.mod b/tests/k_order_perturbation/fs2000k_1_m.mod index 80db2ae61..bb5e7f135 100644 --- a/tests/k_order_perturbation/fs2000k_1_m.mod +++ b/tests/k_order_perturbation/fs2000k_1_m.mod @@ -34,26 +34,36 @@ P_1 = P; AUXv = bet*P*(alp*exp(-alp*(gam+log(e)))*k(-1)^(alp-1)*n^(1-alp)+(1-del)*exp(-(gam+log(e))))/(c(+1)*P(+1)*m); end; -initval; -m = mst; -m_1=mst; -P = 2.25; -P_1 = 2.25; -c = 0.45; -e = 1; -W = 4; -R = 1.02; -k = 6; -d = 0.85; -n = 0.19; -l = 0.86; -y = 0.6; -gy_obs = exp(gam); -gp_obs = exp(-gam); -dA = exp(gam); -AUXv = 1; +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + m_1=mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + P_1 = P; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; + AUXv = 1/(c*m); end; + shocks; var e_a; stderr 0.014; var e_m; stderr 0.005; diff --git a/tests/k_order_perturbation/fs2000k_1_use_dll.mod b/tests/k_order_perturbation/fs2000k_1_use_dll.mod index 9c63d2901..a60ef2584 100644 --- a/tests/k_order_perturbation/fs2000k_1_use_dll.mod +++ b/tests/k_order_perturbation/fs2000k_1_use_dll.mod @@ -34,24 +34,33 @@ P_1 = P; AUXv = bet*P*(alp*exp(-alp*(gam+log(e)))*k(-1)^(alp-1)*n^(1-alp)+(1-del)*exp(-(gam+log(e))))/(c(+1)*P(+1)*m); end; -initval; -m = mst; -m_1=mst; -P = 2.25; -P_1 = 2.25; -c = 0.45; -e = 1; -W = 4; -R = 1.02; -k = 6; -d = 0.85; -n = 0.19; -l = 0.86; -y = 0.6; -gy_obs = exp(gam); -gp_obs = exp(-gam); -dA = exp(gam); -AUXv = 1; +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + m_1=mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + P_1 = P; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; + AUXv = 1/(c*m); end; shocks; diff --git a/tests/kalman_filter_smoother/fs2000.mod b/tests/kalman_filter_smoother/fs2000.mod index d56be54b8..7e063133c 100644 --- a/tests/kalman_filter_smoother/fs2000.mod +++ b/tests/kalman_filter_smoother/fs2000.mod @@ -30,21 +30,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/kalman_filter_smoother/fs2000_1.mod b/tests/kalman_filter_smoother/fs2000_1.mod index 0a8eb3dbd..abd32a0f6 100644 --- a/tests/kalman_filter_smoother/fs2000_1.mod +++ b/tests/kalman_filter_smoother/fs2000_1.mod @@ -31,21 +31,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/kalman_filter_smoother/fs2000_2.mod b/tests/kalman_filter_smoother/fs2000_2.mod index e6c9de570..849813488 100644 --- a/tests/kalman_filter_smoother/fs2000_2.mod +++ b/tests/kalman_filter_smoother/fs2000_2.mod @@ -31,21 +31,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/kalman_filter_smoother/fs2000_smoother_only.mod b/tests/kalman_filter_smoother/fs2000_smoother_only.mod index f46f06e2c..0efefd1ab 100644 --- a/tests/kalman_filter_smoother/fs2000_smoother_only.mod +++ b/tests/kalman_filter_smoother/fs2000_smoother_only.mod @@ -65,21 +65,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/kalman_filter_smoother/fs2000a.mod b/tests/kalman_filter_smoother/fs2000a.mod index 9a636ae01..3937844d2 100644 --- a/tests/kalman_filter_smoother/fs2000a.mod +++ b/tests/kalman_filter_smoother/fs2000a.mod @@ -33,21 +33,32 @@ Y_obs/Y_obs(-1) = gy_obs; P_obs/P_obs(-1) = gp_obs; 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; + Y_obs = gy_obs; + P_obs = gp_obs; end; shocks; diff --git a/tests/kalman_filter_smoother/fs2000a_steadystate.m b/tests/kalman_filter_smoother/fs2000a_steadystate.m deleted file mode 100644 index 0692f23e0..000000000 --- a/tests/kalman_filter_smoother/fs2000a_steadystate.m +++ /dev/null @@ -1,60 +0,0 @@ -% computes the steady state of fs2000 analyticaly -% largely inspired by the program of F. Schorfheide -function [ys,check] = fs2000a_steadystate(ys,exe) - global M_ - - alp = M_.params(1); - bet = M_.params(2); - gam = M_.params(3); - mst = M_.params(4); - rho = M_.params(5); - psi = M_.params(6); - del = M_.params(7); - - check = 0; - - dA = exp(gam); - gst = 1/dA; - m = mst; - - khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); - xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); - nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); - n = xist/(nust+xist); - P = xist + nust; - k = khst*n; - - l = psi*mst*n/( (1-psi)*(1-n) ); - c = mst/P; - d = l - mst + 1; - y = k^alp*n^(1-alp)*gst^alp; - R = mst/bet; - W = l/n; - ist = y-c; - q = 1 - d; - - e = 1; - - gp_obs = m/dA; - gy_obs = dA; - - P_obs = 1; - Y_obs = 1; - - ys =[ -m -P -c -e -W -R -k -d -n -l -gy_obs -gp_obs -Y_obs -P_obs -y -dA ]; \ No newline at end of file diff --git a/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod b/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod index b6bdf7bfe..4bc3a3e48 100644 --- a/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod +++ b/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod @@ -63,21 +63,30 @@ 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; varobs gp_obs gy_obs; diff --git a/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME_steadystate.m b/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME_steadystate.m deleted file mode 100644 index 916373fee..000000000 --- a/tests/measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME_steadystate.m +++ /dev/null @@ -1,73 +0,0 @@ -% computes the steady state of fs2000 analyticaly -% largely inspired by the program of F. Schorfheide - -% Copyright (C) 2004-2013 Dynare Team -% -% This file is part of Dynare. -% -% Dynare is free software: you can redistribute it and/or modify -% it under the terms of the GNU General Public License as published by -% the Free Software Foundation, either version 3 of the License, or -% (at your option) any later version. -% -% Dynare is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with Dynare. If not, see . - -function [ys,check] = fs2000_corr_ME_steadystate(ys,exe) - global M_ - - alp = M_.params(1); - bet = M_.params(2); - gam = M_.params(3); - mst = M_.params(4); - rho = M_.params(5); - psi = M_.params(6); - del = M_.params(7); - - check = 0; - - dA = exp(gam); - gst = 1/dA; - m = mst; - - khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); - xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); - nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); - n = xist/(nust+xist); - P = xist + nust; - k = khst*n; - - l = psi*mst*n/( (1-psi)*(1-n) ); - c = mst/P; - d = l - mst + 1; - y = k^alp*n^(1-alp)*gst^alp; - R = mst/bet; - W = l/n; - ist = y-c; - q = 1 - d; - - e = 1; - - gp_obs = m/dA; - gy_obs = dA; - - ys =[ -m -P -c -e -W -R -k -d -n -l -gy_obs -gp_obs -y -dA ]; diff --git a/tests/smoother2histval/fs2000_simul.mod b/tests/smoother2histval/fs2000_simul.mod index 3dcfc5f60..1da3842be 100644 --- a/tests/smoother2histval/fs2000_simul.mod +++ b/tests/smoother2histval/fs2000_simul.mod @@ -31,21 +31,30 @@ gy_obs = dA*y/y(-2); 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/smoother2histval/fs2000_smooth.mod b/tests/smoother2histval/fs2000_smooth.mod index 5f2931f28..89447eb57 100644 --- a/tests/smoother2histval/fs2000_smooth.mod +++ b/tests/smoother2histval/fs2000_smooth.mod @@ -31,21 +31,30 @@ gy_obs = dA*y/y(-2); 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/smoother2histval/fs2000_smooth_stoch_simul.mod b/tests/smoother2histval/fs2000_smooth_stoch_simul.mod index f599f37b7..91bc25ef6 100644 --- a/tests/smoother2histval/fs2000_smooth_stoch_simul.mod +++ b/tests/smoother2histval/fs2000_smooth_stoch_simul.mod @@ -31,21 +31,30 @@ gy_obs = dA*y/y(-2); 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); +steady_state_model; + dA = exp(gam); + gst = 1/dA; + m = mst; + khst = ( (1-gst*bet*(1-del)) / (alp*gst^alp*bet) )^(1/(alp-1)); + xist = ( ((khst*gst)^alp - (1-gst*(1-del))*khst)/mst )^(-1); + nust = psi*mst^2/( (1-alp)*(1-psi)*bet*gst^alp*khst^alp ); + n = xist/(nust+xist); + P = xist + nust; + k = khst*n; + + l = psi*mst*n/( (1-psi)*(1-n) ); + c = mst/P; + d = l - mst + 1; + y = k^alp*n^(1-alp)*gst^alp; + R = mst/bet; + W = l/n; + ist = y-c; + q = 1 - d; + + e = 1; + + gp_obs = m/dA; + gy_obs = dA; end; shocks; diff --git a/tests/steady_state/walsh1_old_ss.mod b/tests/steady_state/walsh1_old_ss.mod index 1b27d832d..58935a95e 100644 --- a/tests/steady_state/walsh1_old_ss.mod +++ b/tests/steady_state/walsh1_old_ss.mod @@ -2,12 +2,12 @@ var y c k m n R pi z u; varexo e sigma; // sigma stands for phi in the eq 2.37 p.69 -parameters alpha beta delta gamm phi1 eta a b rho phi2 Psi thetass; +parameters alphha betta delta gamm phi1 eta a b rho phi2 Psi thetass; //phi1 stands for capital phi in eq.2.68 and 2.69 //phi2 stands for lowercase phi in eq. 2.66 -alpha = 0.36; -beta = 0.989; +alphha = 0.36; +betta = 0.989; gamm = 0.5; delta = 0.019; phi1 = 2; @@ -21,17 +21,17 @@ thetass = 1.0125; model; -(a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*a*exp(c)^(-b) = (a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*(1-a)*exp(m)^(-b)+beta*(a*exp(c(+1))^(1-b)+(1-a)*exp(m(+1))^(1-b))^((b-phi1)/(1-b))*a*exp(c(+1))^(-b)/(1+pi(+1)); +(a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*a*exp(c)^(-b) = (a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*(1-a)*exp(m)^(-b)+betta*(a*exp(c(+1))^(1-b)+(1-a)*exp(m(+1))^(1-b))^((b-phi1)/(1-b))*a*exp(c(+1))^(-b)/(1+pi(+1)); -Psi*(1-exp(n))^(-eta)/(a*exp(c)^(-b)*(a*exp(c)^(1-b) + (1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))) = (1-alpha)*exp(y)/exp(n); +Psi*(1-exp(n))^(-eta)/(a*exp(c)^(-b)*(a*exp(c)^(1-b) + (1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))) = (1-alphha)*exp(y)/exp(n); -(a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*a*exp(c)^(-b) = beta*exp(R(+1))*(a*exp(c(+1))^(1-b)+(1-a)*exp(m(+1))^(1-b))^((b-phi1)/(1-b))*a*exp(c(+1))^(-b); +(a*exp(c)^(1-b)+(1-a)*exp(m)^(1-b))^((b-phi1)/(1-b))*a*exp(c)^(-b) = betta*exp(R(+1))*(a*exp(c(+1))^(1-b)+(1-a)*exp(m(+1))^(1-b))^((b-phi1)/(1-b))*a*exp(c(+1))^(-b); -exp(R) = alpha*exp(y)/exp(k(-1)) + 1-delta; +exp(R) = alphha*exp(y)/exp(k(-1)) + 1-delta; exp(k) = (1-delta)*exp(k(-1))+exp(y)-exp(c); -exp(y) = exp(z)*exp(k(-1))^alpha*exp(n)^(1-alpha); +exp(y) = exp(z)*exp(k(-1))^alphha*exp(n)^(1-alphha); exp(m) = exp(m(-1))*(u+thetass)/(1+pi); diff --git a/tests/steady_state/walsh1_old_ss_steadystate.m b/tests/steady_state/walsh1_old_ss_steadystate.m index 125c652d7..953086264 100644 --- a/tests/steady_state/walsh1_old_ss_steadystate.m +++ b/tests/steady_state/walsh1_old_ss_steadystate.m @@ -1,32 +1,28 @@ -function [ys,check] = walsh1_old_ss_steadystate(ys0,exo) - global M_ - - check = 0; - - params = M_.params; - alpha = params(1); - beta = params(2); - delta = params(3); - gamm = params(4); - phi1 = params(5); - eta = params(6); - a = params(7); - b = params(8); - rho = params(9); - phi2 = params(10); - Psi = params(11); - thetass = params(12); +function [ys,check] = walsh1_old_ss_steadystate(ys,exo) +global M_ + +% read out parameters to access them with their name +NumberOfParameters = M_.param_nbr; +for ii = 1:NumberOfParameters + paramname = deblank(M_.param_names(ii,:)); + eval([ paramname ' = M_.params(' int2str(ii) ');']); +end +% initialize indicator +check = 0; + + +%% Enter model equations here pi = thetass-1; en = 1/3; - eR = 1/beta; - y_k = (1/alpha)*(1/beta-1+delta); - ek = en*y_k^(-1/(1-alpha)); + eR = 1/betta; + y_k = (1/alphha)*(1/betta-1+delta); + ek = en*y_k^(-1/(1-alphha)); ec = ek*(y_k-delta); - em = ec*(a/(1-a))^(-1/b)*((thetass-beta)/thetass)^(-1/b); + em = ec*(a/(1-a))^(-1/b)*((thetass-betta)/thetass)^(-1/b); ey = ek*y_k; - Xss = a*ec^(1-b)*(1+(a/(1-a))^(-1/b)*((thetass-beta)/thetass)^((b-1)/b)); - Psi = (1-alpha)*(ey/en)*Xss^((b-phi1)/(1-b))*a*ec^(-b)*(1-en)^eta; + Xss = a*ec^(1-b)*(1+(a/(1-a))^(-1/b)*((thetass-betta)/thetass)^((b-1)/b)); + Psi = (1-alphha)*(ey/en)*Xss^((b-phi1)/(1-b))*a*ec^(-b)*(1-en)^eta; n = log(en); k = log(ek); m = log(em); @@ -36,6 +32,14 @@ function [ys,check] = walsh1_old_ss_steadystate(ys0,exo) z = 0; u = 0; - ys = [y c k m n R pi z u]'; - M_.params(11) = Psi; - +%% end own model equations + +for iter = 1:length(M_.params) %update parameters set in the file + eval([ 'M_.params(' num2str(iter) ') = ' M_.param_names(iter,:) ';' ]) +end + +NumberOfEndogenousVariables = M_.orig_endo_nbr; %auxiliary variables are set automatically +for ii = 1:NumberOfEndogenousVariables + varname = deblank(M_.endo_names(ii,:)); + eval(['ys(' int2str(ii) ') = ' varname ';']); +end