From 637a9cc4af7e664ba8f2e317e5439aeeb79e1524 Mon Sep 17 00:00:00 2001 From: Michel Juillard <michel.juillard@mjui.fr> Date: Fri, 4 Nov 2011 09:11:25 +0100 Subject: [PATCH] fixing tests (cherry picked from commit 7175e7ce327267cd4e368a5fb8154768bce84954) --- tests/Makefile.am | 3 +- .../fs2000a_steadystate.m | 60 +++++++++++++++++++ tests/kalman_filter_smoother/gen_data.mod | 2 +- 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 tests/kalman_filter_smoother/fs2000a_steadystate.m diff --git a/tests/Makefile.am b/tests/Makefile.am index 0679db1115..dbfb5e3cda 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -134,7 +134,8 @@ EXTRA_DIST = \ objectives/sgu_ex1.mat \ conditional_forecasts/fsdat_simul.m \ recursive/data_ca1.m \ - kalman_filter_smoother/fsdat_simul.m + kalman_filter_smoother/fsdat_simul.m \ + kalman_filter_smoother/fs200a_steadystate.m TARGETS = diff --git a/tests/kalman_filter_smoother/fs2000a_steadystate.m b/tests/kalman_filter_smoother/fs2000a_steadystate.m new file mode 100644 index 0000000000..4833e8b960 --- /dev/null +++ b/tests/kalman_filter_smoother/fs2000a_steadystate.m @@ -0,0 +1,60 @@ +% 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/kalman_filter_smoother/gen_data.mod b/tests/kalman_filter_smoother/gen_data.mod index 32c12a7b25..e8afaad769 100644 --- a/tests/kalman_filter_smoother/gen_data.mod +++ b/tests/kalman_filter_smoother/gen_data.mod @@ -35,4 +35,4 @@ stoch_simul(periods=2000,irf=0); plot([w x y z]); -save data w x y z dw dx dy; \ No newline at end of file +save data.mat w x y z dw dx dy; \ No newline at end of file -- GitLab