2010-09-20 17:04:38 +02:00
|
|
|
// Tests the steady_state operator, in static and dynamic M-files with block decomposition
|
2010-02-23 14:39:49 +01:00
|
|
|
|
2010-04-16 18:04:57 +02:00
|
|
|
var c k w;
|
2010-02-23 14:39:49 +01:00
|
|
|
varexo x;
|
|
|
|
|
2011-03-13 17:07:56 +01:00
|
|
|
parameters alph gam delt bet aa;
|
2010-02-23 14:39:49 +01:00
|
|
|
alph=0.5;
|
|
|
|
gam=0.5;
|
|
|
|
delt=0.02;
|
|
|
|
bet=0.05;
|
|
|
|
aa=0.5;
|
|
|
|
|
2010-09-20 17:04:38 +02:00
|
|
|
model(block);
|
2010-02-23 14:39:49 +01:00
|
|
|
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);
|
2010-04-16 17:26:42 +02:00
|
|
|
w = steady_state(k);
|
2010-02-23 14:39:49 +01:00
|
|
|
end;
|
|
|
|
|
|
|
|
initval;
|
|
|
|
x = 1;
|
|
|
|
k = ((delt+bet)/(1.0*aa*alph))^(1/(alph-1));
|
|
|
|
c = aa*k^alph-delt*k;
|
2010-04-16 17:26:42 +02:00
|
|
|
w = 0;
|
2010-02-23 14:39:49 +01:00
|
|
|
end;
|
|
|
|
|
|
|
|
steady;
|
|
|
|
|
2010-09-20 17:04:38 +02:00
|
|
|
//check;
|
2010-02-23 14:39:49 +01:00
|
|
|
|
|
|
|
shocks;
|
|
|
|
var x;
|
|
|
|
periods 1;
|
|
|
|
values 1.2;
|
|
|
|
end;
|
|
|
|
|
2023-02-06 21:37:57 +01:00
|
|
|
perfect_foresight_setup(periods=20);
|
|
|
|
perfect_foresight_solver;
|
2010-02-23 14:39:49 +01:00
|
|
|
|
2010-04-16 18:04:57 +02:00
|
|
|
if(abs(oo_.steady_state(2) - oo_.steady_state(3)) > 1e-10)
|
|
|
|
error('Test failed in static M-file for steady_state')
|
|
|
|
end
|
|
|
|
|
|
|
|
if(abs(oo_.steady_state(2) - oo_.endo_simul(3,2)) > 1e-10)
|
|
|
|
error('Test failed in dynamic M-file for steady_state')
|
2010-02-23 14:39:49 +01:00
|
|
|
end
|
|
|
|
|