diff --git a/matlab/dsge_simulated_theoretical_conditional_variance_decomposition.m b/matlab/dsge_simulated_theoretical_conditional_variance_decomposition.m index b923e3654..a4722c832 100644 --- a/matlab/dsge_simulated_theoretical_conditional_variance_decomposition.m +++ b/matlab/dsge_simulated_theoretical_conditional_variance_decomposition.m @@ -66,6 +66,7 @@ if ~posterior end options_.varlist = options_.prior_analysis_endo_var_list; end +endo_names=options_.varlist; [ivar,vartan ] = get_variables_list(options_, M_); if ~posterior if exist('temp','var') @@ -176,10 +177,10 @@ for file = 1:NumberOfDrawsFiles linea = 0; if posterior save([M_.dname '/metropolis/' M_.fname '_PosteriorConditionalVarianceDecomposition' int2str(ConditionalDecompFileNumber) '.mat' ], ... - 'Conditional_decomposition_array'); + 'Conditional_decomposition_array','endo_names'); else save([M_.dname '/prior/moments/' M_.fname '_PriorConditionalVarianceDecomposition' int2str(ConditionalDecompFileNumber) '.mat' ], ... - 'Conditional_decomposition_array'); + 'Conditional_decomposition_array','endo_names'); end if (ConditionalDecompFileNumber==NumberOfConditionalDecompFiles-1)% Prepare last round. Conditional_decomposition_array = zeros(nvar, length(Steps),M_.exo_nbr,NumberOfLinesInTheLastConditionalDecompFile) ; @@ -197,10 +198,10 @@ for file = 1:NumberOfDrawsFiles linea_ME = 0; if posterior save([M_.dname '/metropolis/' M_.fname '_PosteriorConditionalVarianceDecompME' int2str(ConditionalDecompFileNumber_ME) '.mat' ], ... - 'Conditional_decomposition_array_ME'); + 'Conditional_decomposition_array_ME','endo_names'); else save([M_.dname '/prior/moments/' M_.fname '_PriorConditionalVarianceDecompME' int2str(ConditionalDecompFileNumber_ME) '.mat' ], ... - 'Conditional_decomposition_array_ME'); + 'Conditional_decomposition_array_ME','endo_names'); end if (ConditionalDecompFileNumber_ME==NumberOfConditionalDecompFiles_ME-1)% Prepare last round. Conditional_decomposition_array_ME = zeros(nobs_ME, length(Steps),M_.exo_nbr+1,NumberOfLinesInTheLastConditionalDecompFile_ME) ; diff --git a/matlab/dsge_simulated_theoretical_correlation.m b/matlab/dsge_simulated_theoretical_correlation.m index 73a7db56d..50001e153 100644 --- a/matlab/dsge_simulated_theoretical_correlation.m +++ b/matlab/dsge_simulated_theoretical_correlation.m @@ -63,6 +63,7 @@ if ~posterior end options_.varlist = options_.prior_analysis_endo_var_list; end +endo_names=options_.varlist; [ivar,vartan, options_] = get_variables_list(options_, M_); if ~posterior if exist('temp','var') @@ -129,9 +130,9 @@ for file = 1:NumberOfDrawsFiles end if linea == NumberOfCorrLines if posterior - save([ M_.dname '/metropolis/' M_.fname '_PosteriorCorrelations' int2str(CorrFileNumber) '.mat' ],'Correlation_array'); + save([ M_.dname '/metropolis/' M_.fname '_PosteriorCorrelations' int2str(CorrFileNumber) '.mat' ],'Correlation_array','endo_names'); else - save([ M_.dname '/prior/moments/' M_.fname '_PriorCorrelations' int2str(CorrFileNumber) '.mat' ],'Correlation_array'); + save([ M_.dname '/prior/moments/' M_.fname '_PriorCorrelations' int2str(CorrFileNumber) '.mat' ],'Correlation_array','endo_names'); end CorrFileNumber = CorrFileNumber + 1; linea = 0; diff --git a/matlab/dsge_simulated_theoretical_covariance.m b/matlab/dsge_simulated_theoretical_covariance.m index 20511c159..86660c86d 100644 --- a/matlab/dsge_simulated_theoretical_covariance.m +++ b/matlab/dsge_simulated_theoretical_covariance.m @@ -62,6 +62,7 @@ if ~posterior end options_.varlist = options_.prior_analysis_endo_var_list; end +endo_names=options_.varlist; [ivar,vartan] = get_variables_list(options_,M_); if ~posterior if exist('temp','var') @@ -127,9 +128,9 @@ for file = 1:NumberOfDrawsFiles end if linea == NumberOfCovarLines if posterior - save([ M_.dname '/metropolis/' M_.fname '_Posterior2ndOrderMoments' int2str(CovarFileNumber) '.mat' ],'Covariance_matrix'); + save([ M_.dname '/metropolis/' M_.fname '_Posterior2ndOrderMoments' int2str(CovarFileNumber) '.mat' ],'Covariance_matrix','endo_names'); else - save([ M_.dname '/prior/moments/' M_.fname '_Prior2ndOrderMoments' int2str(CovarFileNumber) '.mat' ],'Covariance_matrix'); + save([ M_.dname '/prior/moments/' M_.fname '_Prior2ndOrderMoments' int2str(CovarFileNumber) '.mat' ],'Covariance_matrix','endo_names'); end CovarFileNumber = CovarFileNumber + 1; linea = 0; diff --git a/matlab/dsge_simulated_theoretical_variance_decomposition.m b/matlab/dsge_simulated_theoretical_variance_decomposition.m index 714cfdb31..5f083438e 100644 --- a/matlab/dsge_simulated_theoretical_variance_decomposition.m +++ b/matlab/dsge_simulated_theoretical_variance_decomposition.m @@ -66,6 +66,7 @@ if ~posterior options_.varlist = options_.prior_analysis_endo_var_list; end [ivar,vartan,options_] = get_variables_list(options_,M_); +endo_names=options_.varlist; if ~posterior if exist('temp','var') options_.varlist = temp; @@ -178,9 +179,9 @@ for file = 1:NumberOfDrawsFiles end if linea == NumberOfDecompLines if posterior - save([M_.dname '/metropolis/' M_.fname '_PosteriorVarianceDecomposition' int2str(DecompFileNumber) '.mat' ],'Decomposition_array'); + save([M_.dname '/metropolis/' M_.fname '_PosteriorVarianceDecomposition' int2str(DecompFileNumber) '.mat' ],'Decomposition_array','endo_names'); else - save([M_.dname '/prior/moments/' M_.fname '_PriorVarianceDecomposition' int2str(DecompFileNumber) '.mat' ],'Decomposition_array'); + save([M_.dname '/prior/moments/' M_.fname '_PriorVarianceDecomposition' int2str(DecompFileNumber) '.mat' ],'Decomposition_array','endo_names'); end DecompFileNumber = DecompFileNumber + 1; linea = 0; @@ -197,9 +198,9 @@ for file = 1:NumberOfDrawsFiles if ME_present if linea_ME == NumberOfDecompLines_ME if posterior - save([M_.dname '/metropolis/' M_.fname '_PosteriorVarianceDecompME' int2str(DecompFileNumber_ME) '.mat' ],'Decomposition_array_ME'); + save([M_.dname '/metropolis/' M_.fname '_PosteriorVarianceDecompME' int2str(DecompFileNumber_ME) '.mat' ],'Decomposition_array_ME','endo_names'); else - save([M_.dname '/prior/moments/' M_.fname '_PriorVarianceDecompME' int2str(DecompFileNumber_ME) '.mat' ],'Decomposition_array_ME'); + save([M_.dname '/prior/moments/' M_.fname '_PriorVarianceDecompME' int2str(DecompFileNumber_ME) '.mat' ],'Decomposition_array_ME','endo_names'); end DecompFileNumber_ME = DecompFileNumber_ME + 1; linea_ME = 0; diff --git a/matlab/dynare_estimation_1.m b/matlab/dynare_estimation_1.m index 7bfa02240..e24ee6d6f 100644 --- a/matlab/dynare_estimation_1.m +++ b/matlab/dynare_estimation_1.m @@ -541,6 +541,15 @@ if (any(bayestopt_.pshape >0 ) && options_.mh_replic) || ... if error_flag error('Estimation::mcmc: I cannot compute the posterior moments for the endogenous variables!') end + if options_.load_mh_file && options_.mh_replic==0 %user wants to recompute results + [MetropolisFolder, info] = CheckPath('metropolis',M_.dname); + if ~info + generic_post_data_file_name={'Posterior2ndOrderMoments','decomposition','PosteriorVarianceDecomposition','correlation','PosteriorCorrelations','conditional decomposition','PosteriorConditionalVarianceDecomposition'}; + for ii=1:length(generic_post_data_file_name) + delete_stale_file([MetropolisFolder filesep M_.fname '_' generic_post_data_file_name{1,ii} '*']); + end + end + end oo_ = compute_moments_varendo('posterior',options_,M_,oo_,var_list_); end if options_.smoother || ~isempty(options_.filter_step_ahead) || options_.forecast