MS-SBVAR: adding IRF plots by regime

time-shift
Michel Juillard 2011-06-15 12:04:15 +02:00
parent abd5a62a07
commit b8e50635a8
3 changed files with 14 additions and 6 deletions

View File

@ -30,7 +30,7 @@ function dyn_graph_save(dirname,graph_name,graph_formats,TeX,names,texnames,capt
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
graph_name = [dirname '/Output/' graph_name];
graph_name = [dirname '/Output/' regexprep(graph_name,' ','_')];
if nargin <= 2
Tex = 0
elseif nargin <= 4

View File

@ -51,17 +51,25 @@ plot_ms_irf(M_,options_,irf,options_.varobs,'Ergodic Impulse Responses',varlist)
[err, regime_irfs] = mex_ms_irf(opt{:}, 'free_parameters',oo_.ms.maxparams,'shocks_per_parameter', options_.ms.shock_draws,'regimes');
mexErrCheck('mex_ms_irf ergodic regimes ',err);
for i=1:size(regime_irfs,1)
plot_ms_irf(M_,options_,squeeze(regime_irfs(1,:,:,:)),options_.varobs,['Ergodic ' ...
'Impulse Responses State ' int2str(i)],varlist);
end
save([M_.fname '/' options_.ms.output_file_tag '_ergodic_irf.mat'], 'irf', 'regime_irfs');
if exist(options_.ms.load_mh_file,'file') > 0
[err, irf] = mex_ms_irf(opt{:}, 'shocks_per_parameter', options_.ms.shocks_per_parameter, ...
'parameter_uncertainty','simulation_file',options_.ms.load_mh_file);
mexErrCheck('mex_ms_irf bayesian ',err);
plot_ms_irf(M_,options_,irf,options_.varobs,'Impulse Responses w/ Parameter Uncertainty',varlist);
plot_ms_irf(M_,options_,irf,options_.varobs,'Impulse Responses with Parameter Uncertainty',varlist);
[err, regime_irfs] = mex_ms_irf(opt{:}, 'shocks_per_parameter', options_.ms.shocks_per_parameter, ...
'simulation_file',options_.ms.load_mh_file,'parameter_uncertainty','regimes');
mexErrCheck('mex_ms_irf bayesian regimes ',err);
for i=1:size(regime_irfs,1)
plot_ms_irf(M_,options_,squeeze(regime_irfs(1,:,:,:)),options_.varobs,['Impulse ' ...
'Responses with Parameter Uncertainty State ' int2str(i)],varlist);
end
save([M_.fname '/' options_.ms.output_file_tag '_bayesian_irf.mat'], 'irf', 'regime_irfs');
end
options_ = initialize_ms_sbvar_options(M_, options_);

View File

@ -124,8 +124,8 @@ function [fig] = plot_point_irf_for_shock(irf,nvars,endo_names,shock_name,title_
disp([endo_names(k,:) ' shock from ' shock_name]);
title([endo_names(k,:) ' shock from ' shock_name]);
end
dyn_save_graph(dirname,['MS-IRF-' shock_name],options_.graph_save_formats, ...
options_.TeX,names,tex_names,['IRF ' shock_name]);
dyn_save_graph(dirname,[title_ ' ' shock_name],options_.graph_save_formats, ...
options_.TeX,names,tex_names,[title_ ' ' shock_name]);
end
function [fig] = plot_banded_irf_for_shock(irf,nvars, endo_names, shock_name,title_,dirname,options_,names,tex_names)
@ -141,8 +141,8 @@ function [fig] = plot_banded_irf_for_shock(irf,nvars, endo_names, shock_name,tit
disp([endo_names(k,:) ' shock from ' shock_name]);
title([endo_names(k,:) ' shock from ' shock_name]);
end
dyn_save_graph(dirname,['MS-IRF-' shock_name],options_.graph_save_formats, ...
options_.TeX,names,tex_names,['IRF ' shock_name]);
dyn_save_graph(dirname,[title_ ' ' shock_name],options_.graph_save_formats, ...
options_.TeX,names,tex_names,[title_ ' ' shock_name]);
end