Merge branch 'conditional_forecast' into 'master'

imcforecast.m: Make code robust to 1 period

See merge request Dynare/dynare!1659
time-shift
Sébastien Villemot 2019-09-03 08:38:59 +00:00
commit 33f19d35d9
1 changed files with 15 additions and 3 deletions

View File

@ -265,13 +265,21 @@ forecasts.instruments = options_cond_fcst.controlled_varexo;
for i = 1:EndoSize
forecasts.cond.Mean.(M_.endo_names{oo_.dr.order_var(i)}) = mFORCS1(i,:)';
tmp = sort(squeeze(FORCS1(i,:,:))');
if size(FORCS1,2)>1
tmp = sort(squeeze(FORCS1(i,:,:))');
else
tmp = sort(squeeze(FORCS1(i,:,:)));
end
forecasts.cond.ci.(M_.endo_names{oo_.dr.order_var(i)}) = [tmp(t1,:)' ,tmp(t2,:)' ]';
end
for i = 1:n1
forecasts.controlled_exo_variables.Mean.(options_cond_fcst.controlled_varexo{i}) = mFORCS1_shocks(i,:)';
tmp = sort(squeeze(FORCS1_shocks(i,:,:))');
if size(FORCS1_shocks,2)>1
tmp = sort(squeeze(FORCS1_shocks(i,:,:))');
else
tmp = sort(squeeze(FORCS1_shocks(i,:,:)));
end
forecasts.controlled_exo_variables.ci.(options_cond_fcst.controlled_varexo{i}) = [tmp(t1,:)' ,tmp(t2,:)' ]';
end
@ -290,7 +298,11 @@ mFORCS2 = mean(FORCS2,3);
for i = 1:EndoSize
forecasts.uncond.Mean.(M_.endo_names{oo_.dr.order_var(i)})= mFORCS2(i,:)';
tmp = sort(squeeze(FORCS2(i,:,:))');
if size(FORCS2,2)>1
tmp = sort(squeeze(FORCS2(i,:,:))');
else
tmp = sort(squeeze(FORCS2(i,:,:)));
end
forecasts.uncond.ci.(M_.endo_names{oo_.dr.order_var(i)}) = [tmp(t1,:)' ,tmp(t2,:)' ]';
end
forecasts.graph.title = graph_title;