Select Git revision
NumericalInitialization.cc
Forked from
Dynare / preprocessor
Source project has a limited visibility.
conditional_variance_decomposition_mc_analysis.m 5.72 KiB
function oo_ = ...
conditional_variance_decomposition_mc_analysis(NumberOfSimulations, type, dname, fname, Steps, exonames, exo, var_list, endo, mh_conf_sig, oo_,options_)
% This function analyses the (posterior or prior) distribution of the
% endogenous variables' conditional variance decomposition.
%
% INPUTS
% NumberOfSimulations [integer] scalar, number of simulations.
% type [string] 'prior' or 'posterior'
% dname [string] directory name where to save
% fname [string] name of the mod-file
% Steps [integers] horizons at which to conduct decomposition
% exonames [string] (n_exo*char_length) character array with names of exogenous variables
% exo [string] name of current exogenous
% variable
% var_list [string] (n_endo*char_length) character array with name
% of endogenous variables
% endogenous_variable_index [integer] index of the current
% endogenous variable
% mh_conf_sig [double] 2 by 1 vector with upper
% and lower bound of HPD intervals
% oo_ [structure] Dynare structure where the results are saved.
%
% OUTPUTS
% oo_ [structure] Dynare structure where the results are saved.
% Copyright © 2009-2024 Dynare Team
%
% This file is part of Dynare.
%
% Dynare is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% Dynare is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <https://www.gnu.org/licenses/>.
if strcmpi(type,'posterior')
folder_name=get_posterior_folder_name(options_);
TYPE = 'Posterior';
PATH = [dname filesep folder_name filesep];
else
TYPE = 'Prior';
PATH = [dname '/prior/moments/'];
end
exogenous_variable_index = check_name(exonames,exo);
if isempty(exogenous_variable_index)
if ~isequal(exo,'ME')
disp([ type '_analysis:: ' exo ' is not a declared exogenous variable!'])
end
return
end
endogenous_variable_index = check_name(var_list, endo);
if isempty(endogenous_variable_index)
disp([ type '_analysis:: Can''t find ' endo '!'])
return
end
name_1 = endo;
name_2 = exo;
name = [ name_1 '.' name_2 ];
if isfield(oo_, [ TYPE 'TheoreticalMoments' ])