From 3ec1d151070133d72a1e99ec05def4dcdbb3b7e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@dynare.org> Date: Mon, 2 Mar 2020 17:10:58 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20interaction=20of=20=E2=80=9Cpredetermined?= =?UTF-8?q?=5Fvariables=E2=80=9D=20with=20=E2=80=9Chistval=E2=80=9D=20(pre?= =?UTF-8?q?processor#47)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also add a corresponding regression test case. --- preprocessor | 2 +- tests/Makefile.am | 1 + tests/histval_predetermined.mod | 60 +++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 tests/histval_predetermined.mod diff --git a/preprocessor b/preprocessor index 2a048a487c..7d1a467aa3 160000 --- a/preprocessor +++ b/preprocessor @@ -1 +1 @@ -Subproject commit 2a048a487c02ee420e20a0082abb8cb411b562bc +Subproject commit 7d1a467aa30427afeac638975a80fc4df58ba1d4 diff --git a/tests/Makefile.am b/tests/Makefile.am index 6ff0f0a934..5c2c56001d 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -114,6 +114,7 @@ MODFILES = \ comments.mod \ histval_sto.mod \ histval_det.mod \ + histval_predetermined.mod \ auxiliary_variables/test1.mod \ expectations/expectation.mod \ expectations/expectation_ss.mod \ diff --git a/tests/histval_predetermined.mod b/tests/histval_predetermined.mod new file mode 100644 index 0000000000..51ac05cf8f --- /dev/null +++ b/tests/histval_predetermined.mod @@ -0,0 +1,60 @@ +/* Check that histval and predetermined_variables interact correctly, in the + case where no explicit lag appears in the model block (though lags appear + implicitly via the “predetermined_variables” statement). + + This is a regression test for preprocessor#47. +*/ + +var y, c, k, a, h, b; +varexo e, u; + +predetermined_variables a b k; + +parameters beta, rho, alpha, delta, theta, psi, tau; + +alpha = 0.36; +rho = 0.95; +tau = 0.025; +beta = 0.99; +delta = 0.025; +psi = 0; +theta = 2.95; + +phi = 0.1; + +model; +c*theta*h^(1+psi)=(1-alpha)*y; +k(+1) = beta*(((exp(b(+1))*c)/(exp(b(+2))*c(+1))) + *(exp(b(+2))*alpha*y(+1)+(1-delta)*k(+1))); +y = exp(a(+1))*(k^alpha)*(h^(1-alpha)); +k = exp(b(+1))*(y-c)+(1-delta)*k; +a(+1) = rho*a+ e; +b(+1) = rho*b+ u; +end; + +initval; +y = 1.08068253095672; +c = 0.80359242014163; +h = 0.29175631001732; +k = 11.08360443260358; +a = 0; +b = 0; +e = 0; +u = 0; +end; + +shocks; +var e; stderr 0.009; +var u; stderr 0.009; +var e, u = phi*0.009*0.009; +end; + +histval; +b(0) = 0.1; +a(0) = 0.3; +end; + +stoch_simul(nograph, periods = 200); + +forecast; + -- GitLab