Fix interaction of “predetermined_variables” with “histval” (preprocessor#47)

Also add a corresponding regression test case.
time-shift
Sébastien Villemot 2020-03-02 17:10:58 +01:00
parent c1541bebbf
commit 3ec1d15107
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
3 changed files with 62 additions and 1 deletions

@ -1 +1 @@
Subproject commit 2a048a487c02ee420e20a0082abb8cb411b562bc
Subproject commit 7d1a467aa30427afeac638975a80fc4df58ba1d4

View File

@ -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 \

View File

@ -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;