diff --git a/tests/AIM/fs2000_b1L1L.mod b/tests/AIM/fs2000_b1L1L.mod index 0a64f8e9c9f8c4374a2547f77924900f685d8f8f..2160661d5a3aa9711519bfd893b88cc2db9dd267 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 9a4b359cdc6f3ad248a4e55039420240fc164c33..71a0ec1ade9d0a7e004b9d602cb9e5474e1b9d5e 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 eea49707ddc95a61186262259fdb0fee376325a3..0000000000000000000000000000000000000000 --- 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 24b9ebc273a3a5eea4ef472e8cf6bc250c0903a4..0000000000000000000000000000000000000000 --- 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 706ff4074dd2f961e09f10f8938c9256180fe054..c6c300f80e2e3c6a83a2418525798db639bf54f4 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 3dc8b7ad04c429b1c54f9a878de77d3d6540673e..46fed44161e65830bd2bb0385b121871693e33b8 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 4b63fd55471f9142c5504bafea5d6eeb7bb2b543..3e3c8cd012a8289e3f670f393b09681f632947db 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 6f07765f76c83382c9d545128ce3a9c763913a41..79f8d8c2a0008f0c7ff3d73709b3feb8ec205d25 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 79209edd1f297bc5a4785b56f61dc5074c6a1f05..897f78b5f8c445102fdba5d50358d3b909339c17 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 981dd35f61a47e0be29b6333f06cf73609791971..3b51be0142b732aaf90657932293c090991f6d68 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 f4614b4f45bff6d1968b8614752927fd13eb0078..91a6f20d86fc92f30733c33c2da2836df81e93b8 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 1f7d9dbd6ddfd0038a2ae5562cc0f46349a297ff..0000000000000000000000000000000000000000 --- 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 <http://www.gnu.org/licenses/>. - -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 0321112c30182d76b15d2c265de2d52eee382216..79d309786857d00238fc1fb57a88e1cdf4972b20 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 917e56a51d32640f4471309493da06b62b6faf6a..4cf0c742bc89e49bd5f01e21167bf3d8ff3f0d2e 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 2ac140da5dfd6585ea7168747c441eab7fa2770a..0000000000000000000000000000000000000000 --- 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 <http://www.gnu.org/licenses/>. - -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 3178165afa791e9f75eeb699d796b1f83c56984a..d2c82a2a81aa20c5ab225875ca1291c35a9e9715 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 43b013677795a12109e8c09808ba50ba5a5a0552..9de6f5299dee3c5e63ca1942c1ba0e9957a372e5 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 2ac140da5dfd6585ea7168747c441eab7fa2770a..0000000000000000000000000000000000000000 --- 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 <http://www.gnu.org/licenses/>. - -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 f9eb5652abcca392ea5877d91ae315b47bc21674..9e1815adaa0a3d853de635b7129fed189628b0ce 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 2ac140da5dfd6585ea7168747c441eab7fa2770a..0000000000000000000000000000000000000000 --- 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 <http://www.gnu.org/licenses/>. - -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 a1c589c2a59dd664244ca1927da1a1d86f21079d..ae324c5ba5c3e69491d247d35667b5b96e931f0f 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 d826df0b5a32391a93a2a9f4178b9c72cd427c2c..b40f8e9bcd9c8073dfcc19bbebc4d5da8f32a855 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 18e41f33c3af9733f4242cedd6d3bed7d0d0374c..f06c90493bf6591999adf5caa3cb12acf50cfd7a 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 23018eeddb19d02c1bb078aa615e2f379d1c328d..da58096a2b360557fe31da8aaf2fe2031a10fb90 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 1210e7425ccde79a2a5b5be3854651584def469c..aec807b04d652ae75557002c003416f4e9f27194 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 c2e31087ca56e2486a14351a5b85fb85535e40d3..18759c6857e9489bfc42e53cf1fb0fa44e64aadd 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 1c02fd45657b8041ca8ec4fb916df1b2c494c293..2ef89c2b8ed29d679c708afb80fe7b39b9a4b2f3 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 82f8e4179ac16d977519ce6f7ffcf55b2a23f6cb..05ad37c3aaab70f3a73013a8af3f065666cf6eed 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 3f517398dd2616282ecdb8c5e845a7274bab244d..a3f556c55fcd80c87eebf8389d582eb8e99d87ba 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 783ecb71d966502ebf7a92684b6bb0b021764725..210417e4f6e73f4d9ec7f0d0df79b9f917a5d67a 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 0692f23e0433b2837c98f0c6c95c2c4edcafaff3..0000000000000000000000000000000000000000 --- 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 c7518083b951c7f71f1ae1ff8bc5f6f069b3300a..76e71a9c40adb4cc226b5aef6fe66cae2874e6b0 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 38546afd22d44c3f459a26d0ad1c2df8457411bf..e26afed2c7f77150e12d0332f774f902d0279125 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 26a86c1a381a202664a26a4cb1902f26526a4e94..30be9d985fc7eb051d10a74669fa6f66113f1ef7 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 a5b90ebeb29d9811f081b098ae72542e8d6462ab..e5a33303199d85291799c11ad3ad9852ff19551d 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 c58a57a7000002d6c52b6332ce021c526b5e18ce..3b022b1475b285e2ccad8c182ba587d68257297f 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 05a55e1bb0337506981385b86730eda1adf11c77..36769fa1608597a5e3cc30512192946819013051 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 302eaecccc3d59c9654dfa4f10e74d9ada197f0a..2dd38282de0b9afee69c689a3e12d8b7a7442588 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 5d45f2c2cdb839d5db05eae0238d2d9412b16b68..473207a0ba9d26725a741e7463103b05f0b9c874 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 3801dd3502fcdbd456f6ab9963df5d23e27b37dd..ffbd641ed6bbd7bd581a6bcedd7c6c60c49afb87 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 8d7a606aef1ab8c8c87532f0a92166b7ded9bd93..e205f375e32fff84a95653b3e81c499472a4bb09 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 af7f2fb52d4fd7f1c065bb2de99145b3085b52f2..177d7aa402fc5340c66b33a0bfb6e498f5aefaa7 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 de811d2f6cca36bcf3922e69ca41aff3fab1c565..362fc4d947e045cdeb8e739662ab2650c176d267 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 a3130b1412b7a87fe83aaed8e3bce8f20358370d..617d821c75982f659c02f74899218e93aa007b9d 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 2d0c6bff12d3a967888e5003a26bb600c69533e8..234d53db8dcd56b4ee9421f9d6bf8c12476a6531 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 e7c20152239567307bcb0f3eee950509704e5ea2..9dc84afb5037f5bac28957ae3c2e35a6aa4d23d7 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 80db2ae611a36b33e94c7aed99989811e32838d2..bb5e7f1355517ce2bf7e94312aef943cbf15433e 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 9c63d2901ce89de23ee3d90036466cb15f658686..a60ef25840f2e18a005f5179a9dd316dde21b380 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 d56be54b812c33e4b34b800842352e9c0dc1a4ba..7e063133ccf385a1a9a1727bcb6e99072f19b2f6 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 0a8eb3dbd9e8894ebf97430d2e231062bc040fb8..abd32a0f662c3badbe93c54855dc0251484dde6d 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 e6c9de5705edd7f4a42541bab207d18f22d9260c..84981348806a15a0b53f81cae81a346d2e602f9b 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 f46f06e2cf88a7cc917b9966317bf6a512dddde3..0efefd1ab0e01ba6223321623320f4c0c9089874 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 9a636ae01d324c68a343d75ce98d685b2a07dd67..3937844d22d5ac05241ba7d6d688ad04ab459617 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 0692f23e0433b2837c98f0c6c95c2c4edcafaff3..0000000000000000000000000000000000000000 --- 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 b6bdf7bfef3f95ddd7fa047413d75cd5ca8e1dbf..4bc3a3e48ffa5362523bd15584b57097a3a1bdbf 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 916373feeb0cfab5a7b2bbbbf7b92dbf036165c4..0000000000000000000000000000000000000000 --- 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 <http://www.gnu.org/licenses/>. - -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 3dcfc5f607ad3c37a11f092d37c75ff61a764b13..1da3842be785a64b61ac068a4d067f8bc15cb79f 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 5f2931f289dd47e5659372a8a1fe05c0509cafe5..89447eb57142ae3933b3fc66d92631f63b381210 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 f599f37b7ec64930fffcbf790d639a64284085ca..91bc25ef674beb941a5c4c84ce19cbf44ad89670 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 1b27d832d0715c3f741a3d03cafa189cb23384ba..58935a95eaa5ad2290087ff2522808cbe5176095 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 125c652d78019fa1c7ec4e6fcfa67eb3225ab283..9530862643e15467daf9179101cceec2650c362c 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