diff --git a/matlab/solve_stochastic_perfect_foresight_model.m b/matlab/solve_stochastic_perfect_foresight_model.m index d2ce4e59a07f86ab2647e09c42df8266c3d249d0..5f357901f9f0edbc0b327ec3f1f194dd204b3591 100644 --- a/matlab/solve_stochastic_perfect_foresight_model.m +++ b/matlab/solve_stochastic_perfect_foresight_model.m @@ -193,8 +193,8 @@ function [flag,endo_simul,err] = solve_stochastic_perfect_foresight_model(endo_s end flag = 0;% Convergency obtained. endo_simul = reshape(Y(:,1),ny,periods+2);%Y(ny+(1:ny),1); - figure;plot(Y(16:ny:(periods+2)*ny,:)) - pause + % figure;plot(Y(16:ny:(periods+2)*ny,:)) + % pause break end dy = -A\res; diff --git a/tests/Makefile.am b/tests/Makefile.am index bd5e7f5055ae2ab69b3d3335946eecac0d9f06fe..203326fcc49c273ae3c317312c5578f7fcb28901 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -126,6 +126,7 @@ MODFILES = \ second_order/ds1.mod \ second_order/ds2.mod \ ep/rbc.mod \ + ep/rbcii.mod \ ep/linear.mod \ deterministic_simulations/deterministic_model_purely_forward.mod \ deterministic_simulations/rbc_det1.mod \ diff --git a/tests/ep/mean_preserving_spread.m b/tests/ep/mean_preserving_spread.m index 9d988fe1281b9fc4d2f734c7232e88ad05b49d49..d296ec345259f673a58f2837b165d2b8edee9193 100644 --- a/tests/ep/mean_preserving_spread.m +++ b/tests/ep/mean_preserving_spread.m @@ -1,4 +1,4 @@ -function m = mean_preserving_spread(autoregressive_parameter) +function m = mean_preserving_spread(autoregressive_parameter,sigma) % Computes the mean preserving spread for first order autoregressive process. % % The mean preserving spread m is a constant such that the mean of the process @@ -13,6 +13,5 @@ function m = mean_preserving_spread(autoregressive_parameter) % AUTHOR(S) % stephane DOT adjemian AT univ DASH lemans DOT fr % frederic DOT karame AT univ DASH evry DOT fr -global M_ -m = M_.Sigma_e/(1-autoregressive_parameter*autoregressive_parameter); \ No newline at end of file +m = sigma/(1-autoregressive_parameter*autoregressive_parameter); \ No newline at end of file diff --git a/tests/ep/rbc.mod b/tests/ep/rbc.mod index 35edc823ed13a87201aef9ad6c4e3e97655e5a6f..b5534f65708fb505c511b6c04617c4af9768313c 100644 --- a/tests/ep/rbc.mod +++ b/tests/ep/rbc.mod @@ -57,10 +57,10 @@ options_.ep.stochastic.nodes = 2; options_.console_mode = 0; options_.ep.stochastic.order = 0; -ts0 = extended_path([],100); +//ts0 = extended_path([],100); options_.ep.stochastic.order = 1; -ts1 = extended_path([],100); +//ts1 = extended_path([],100); options_.ep.stochastic.order = 2; ts2 = extended_path([],100); diff --git a/tests/ep/rbcii.mod b/tests/ep/rbcii.mod index 2d4046c6ada189f53c9f0f8615f8358d04add959..e4c8c300517f0c1ff85a7793ca4633ac08d152bf 100644 --- a/tests/ep/rbcii.mod +++ b/tests/ep/rbcii.mod @@ -26,15 +26,15 @@ sigma2 = 0.001; rho = 0.800; @#endif -external_function(name=mean_preserving_spread); +external_function(name=mean_preserving_spread,nargs=2); -model(use_dll); +model; // Eq. n°1: efficiency = rho*efficiency(-1) + EfficiencyInnovation; // Eq. n°2: - Efficiency = effstar*exp(efficiency-mean_preserving_spread(rho)); + Efficiency = effstar*exp(efficiency-mean_preserving_spread(rho,sigma2)); // Eq. n°3: Output = Efficiency*(alpha*(Capital(-1)^psi)+(1-alpha)*(Labour^psi))^(1/psi); @@ -56,6 +56,27 @@ model(use_dll); end; +steady_state_model; +efficiency = 0; +Efficiency = effstar*exp(efficiency-mean_preserving_spread(rho,sigma2)); +// Compute steady state ratios. +Output_per_unit_of_Capital=((1/beta-1+delta)/alpha)^(1/(1-psi)); +Consumption_per_unit_of_Capital=Output_per_unit_of_Capital-delta; +Labour_per_unit_of_Capital=(((Output_per_unit_of_Capital/Efficiency)^psi-alpha)/(1-alpha))^(1/psi); +Output_per_unit_of_Labour=Output_per_unit_of_Capital/Labour_per_unit_of_Capital; +Consumption_per_unit_of_Labour=Consumption_per_unit_of_Capital/Labour_per_unit_of_Capital; + +// Compute steady state share of capital. +ShareOfCapital=alpha/(alpha+(1-alpha)*Labour_per_unit_of_Capital^psi); + +/// Compute steady state of the endogenous variables. +Labour=1/(1+Consumption_per_unit_of_Labour/((1-alpha)*theta/(1-theta)*Output_per_unit_of_Labour^(1-psi))); +Consumption = Consumption_per_unit_of_Labour*Labour; +Capital = Labour/Labour_per_unit_of_Capital; +Output = Output_per_unit_of_Capital*Capital; +Investment = delta*Capital; +ExpectedTerm = beta*((((Consumption^theta)*((1-Labour)^(1-theta)))^(1-tau))/Consumption)*(alpha*((Output/Capital)^(1-psi))+1-delta); +end; @#if extended_path_version