Add test for mshocks block
parent
94f7058639
commit
f27852d1ec
|
@ -63,6 +63,7 @@ MODFILES = \
|
||||||
ramst.mod \
|
ramst.mod \
|
||||||
ramst_a.mod \
|
ramst_a.mod \
|
||||||
ramst_static_tag.mod \
|
ramst_static_tag.mod \
|
||||||
|
ramst_mshocks.mod \
|
||||||
on-the-fly/ex1.mod \
|
on-the-fly/ex1.mod \
|
||||||
on-the-fly/ex2.mod \
|
on-the-fly/ex2.mod \
|
||||||
on-the-fly/ex3.mod \
|
on-the-fly/ex3.mod \
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
// Test mshocks block
|
||||||
|
|
||||||
|
var c k;
|
||||||
|
varexo x;
|
||||||
|
|
||||||
|
parameters alph gam delt bet aa;
|
||||||
|
alph=0.5;
|
||||||
|
gam=0.5;
|
||||||
|
delt=0.02;
|
||||||
|
bet=0.05;
|
||||||
|
aa=0.5;
|
||||||
|
|
||||||
|
|
||||||
|
model;
|
||||||
|
c + k - aa*x*k(-1)^alph - (1-delt)*k(-1);
|
||||||
|
c^(-gam) - (1+bet)^(-1)*(aa*alph*x(+1)*k^(alph-1) + 1 - delt)*c(+1)^(-gam);
|
||||||
|
end;
|
||||||
|
|
||||||
|
initval;
|
||||||
|
x = 2;
|
||||||
|
k = ((delt+bet)/(1.0*aa*x*alph))^(1/(alph-1));
|
||||||
|
c = aa*x*k^alph-delt*k;
|
||||||
|
end;
|
||||||
|
|
||||||
|
steady;
|
||||||
|
|
||||||
|
check;
|
||||||
|
|
||||||
|
mshocks;
|
||||||
|
var x;
|
||||||
|
periods 1 2:3;
|
||||||
|
values 1.2 0.8;
|
||||||
|
end;
|
||||||
|
|
||||||
|
perfect_foresight_setup(periods=200);
|
||||||
|
perfect_foresight_solver;
|
||||||
|
|
||||||
|
rplot c;
|
||||||
|
rplot k;
|
||||||
|
|
||||||
|
if ~all(oo_.exo_simul(M_.maximum_lag+(1:3)) == [ 2.4; 1.6; 1.6]) ...
|
||||||
|
|| ~all(oo_.exo_simul(M_.maximum_lag+(4:200)) == 2)
|
||||||
|
error("mshocks not correctly applied")
|
||||||
|
end
|
Loading…
Reference in New Issue