Test the value of oo_.deterministic_simulation.status in tests/deterministic_simulations/*

time-shift
Stéphane Adjemian (Charybdis) 2017-03-20 16:27:13 +01:00
parent 85fe69b265
commit 6d6f850a49
30 changed files with 143 additions and 2 deletions

View File

@ -46,4 +46,8 @@ steady;
simul(periods=200);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
plot(Simulated_time_series.Capital(1Q1:25Q4));

View File

@ -53,6 +53,10 @@ end;
simul(periods=200);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
plot(Simulated_time_series.Capital(1Q1:25Q4));
if max(abs(oo_.endo_simul(:,1)-M_.endo_histval))>1e-6

View File

@ -18,5 +18,10 @@ check;
%% DETERMINISTIC SIMULATION
simul(periods = 40, stack_solve_algo=0, maxit=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
dsample 40;
rplot x;

View File

@ -73,11 +73,19 @@ end;
perfect_foresight_setup(periods=400);
perfect_foresight_solver(stack_solve_algo=0);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
oo0 = oo_;
perfect_foresight_setup(periods=400);
perfect_foresight_solver(stack_solve_algo=6);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
oo6 = oo_;
maxabsdiff = max(max(abs(oo0.endo_simul-oo6.endo_simul)));

View File

@ -117,9 +117,15 @@ check;
simul(periods=300);
endo_simul_0 = oo_.endo_simul;
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
simul(linear_approximation,periods=300);
endo_simul_1 = oo_.endo_simul;
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
if max(abs(endo_simul_0(:)-endo_simul_1(:)))>.01*options_.dynatol.f
error('Something is wrong!')

View File

@ -980,4 +980,8 @@ end;
simul(periods=125,maxit=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
delete('lola_data.mat')

View File

@ -30,6 +30,10 @@ check;
options_.solve_tolf=1e-12;
simul(periods=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
// Display the path of consumption and capital
rplot y_backward;

View File

@ -32,6 +32,10 @@ check;
options_.solve_tolf=1e-12;
simul(periods=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
// Display the path of consumption and capital
rplot y_backward;

View File

@ -54,6 +54,10 @@ end;
// Deterministic simulation of the model for 200 periods
simul(periods=200);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
junk=zeros(1,options_.periods+M_.maximum_lag);
junk(1)=2;
junk(2)=1;

View File

@ -27,4 +27,8 @@ periods 2;
values 0.9;
end;
simul(periods=200,maxit=100);
simul(periods=200,maxit=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end

View File

@ -39,6 +39,11 @@ values 0.9;
end;
simul(periods=200,maxit=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
base_results=load('sim_base_results.mat');
if max(abs(base_results.oo_.endo_simul(strmatch('c',base_results.M_.endo_names,'exact'),1+base_results.M_.maximum_endo_lag:end-base_results.M_.maximum_endo_lead) -...
oo_.endo_simul(strmatch('c',M_.endo_names,'exact'),1+M_.maximum_endo_lag:end-M_.maximum_endo_lead)))>1e-8 || ...

View File

@ -42,6 +42,11 @@ values 0.9;
end;
simul(periods=200,maxit=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
base_results=load('sim_base_results.mat');
if max(abs(base_results.oo_.endo_simul(strmatch('c',base_results.M_.endo_names,'exact'),1+base_results.M_.maximum_endo_lag:end-base_results.M_.maximum_endo_lead) -...
oo_.endo_simul(strmatch('c',M_.endo_names,'exact'),1+M_.maximum_endo_lag:end-M_.maximum_endo_lead)))>1e-8 || ...

View File

@ -37,6 +37,11 @@ values 0.9;
end;
simul(periods=200,maxit=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
base_results=load('sim_base_results.mat');
if max(abs(base_results.oo_.endo_simul(strmatch('c',base_results.M_.endo_names,'exact'),1+base_results.M_.maximum_endo_lag:end-base_results.M_.maximum_endo_lead) -...
oo_.endo_simul(strmatch('c',M_.endo_names,'exact'),1+M_.maximum_lag:end-M_.maximum_lead)))>1e-8 || ...

View File

@ -42,6 +42,11 @@ values 0.9;
end;
simul(periods=200,maxit=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
base_results=load('sim_base_results.mat');
if max(abs(base_results.oo_.endo_simul(strmatch('c',base_results.M_.endo_names,'exact'),1+base_results.M_.maximum_endo_lag:end-base_results.M_.maximum_endo_lead) -...
oo_.endo_simul(strmatch('c',M_.endo_names,'exact'),1+M_.maximum_endo_lag:end-M_.maximum_endo_lead)))>1e-8 || ...

View File

@ -41,6 +41,11 @@ values 0.9;
end;
simul(periods=200,maxit=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
base_results=load('sim_base_results.mat');
if max(abs(base_results.oo_.endo_simul(strmatch('c',base_results.M_.endo_names,'exact'),1+base_results.M_.maximum_endo_lag:end-base_results.M_.maximum_endo_lead) -...
oo_.endo_simul(strmatch('c',M_.endo_names,'exact'),1+M_.maximum_lag:end-M_.maximum_lead)))>1e-8 || ...

View File

@ -52,6 +52,11 @@ values 0.9;
end;
simul(periods=200,maxit=100);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
base_results=load('sim_base_results.mat');
if max(abs(base_results.oo_.endo_simul(strmatch('c',base_results.M_.endo_names,'exact'),1+base_results.M_.maximum_endo_lag:end-base_results.M_.maximum_endo_lead) -...
oo_.endo_simul(strmatch('c',M_.endo_names,'exact'),1+M_.maximum_endo_lag:end-M_.maximum_endo_lead)))>1e-8 || ...

View File

@ -27,6 +27,10 @@ end;
simul(periods=10);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
if max(abs(y-[1; exp(cumprod([1; rho*ones(9, 1)]))]))>options_.dynatol.x
error('Wrong solution!')
end

View File

@ -24,6 +24,10 @@ end;
simul(periods=5);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
expected_y = ones(1, 6);
expected_y(2) = exp(-1);
expected_y(1) = sqrt(exp(-1))*exp(1);

View File

@ -37,6 +37,10 @@ end;
simul(periods=5);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
% Initialize the analytical solution for the endogenous variables.
expected_y = zeros(1, 6);
expected_pi = zeros(1, 6);

View File

@ -74,5 +74,9 @@ perfect_foresight_setup(periods=200);
perfect_foresight_solver;
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;

View File

@ -71,5 +71,9 @@ end;
simul(periods=20);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;

View File

@ -71,5 +71,9 @@ end;
simul(periods=300);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;

View File

@ -71,5 +71,9 @@ end;
simul(periods=300);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;

View File

@ -74,5 +74,9 @@ steady;
simul(periods=300);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;

View File

@ -80,5 +80,9 @@ end;
simul(periods=300);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;

View File

@ -72,12 +72,20 @@ end;
simul(periods=500);
fff = oo_.endo_simul;
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
simul(periods=500, endogenous_terminal_period);
ggg = oo_.endo_simul;
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
t1 = abs(fff-ggg);
t2 = max(max(t1));
if t2>1e-5
error('sim1::endogenous_terminal_period: round off error is greater than 1e-5!')
error('Perfect foresight simulation with endogenous terminal period failed! Round off error is greater than 1e-5')
end

View File

@ -71,5 +71,9 @@ end;
simul(periods=300);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;

View File

@ -72,6 +72,10 @@ end;
simul(periods=300);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;

View File

@ -72,6 +72,10 @@ end;
simul(periods=300);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;

View File

@ -74,6 +74,10 @@ perfect_foresight_setup(periods=200);
perfect_foresight_solver(stack_solve_algo=7,solve_algo=1);
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;
@ -91,6 +95,10 @@ options_.dynatol.f=1e-10;
perfect_foresight_setup(periods=200);
perfect_foresight_solver(stack_solve_algo=7,solve_algo=@{solve_algo_iter});
if ~oo_.deterministic_simulation.status
error('Perfect foresight simulation failed')
end
rplot Consumption;
rplot Capital;