Output M_ in stoch_simul.m and discretionary_policy.m

Fixes https://git.dynare.org/Dynare/dynare/issues/1711 together with https://git.dynare.org/Dynare/preprocessor/-/merge_requests/15
time-shift
Johannes Pfeifer 2020-02-24 14:14:41 +01:00
parent 3879ce08de
commit 3cf622cdc1
6 changed files with 10 additions and 9 deletions

View File

@ -1,5 +1,5 @@
function [info, oo_, options_] = discretionary_policy(M_, options_, oo_, var_list) function [info, oo_, options_, M_] = discretionary_policy(M_, options_, oo_, var_list)
% function [info, oo_, options_] = discretionary_policy(M_, options_, oo_, var_list) % function [info, oo_, options_, M_] = discretionary_policy(M_, options_, oo_, var_list)
% INPUTS % INPUTS
% - M_ [structure] Matlab's structure describing the model (M_). % - M_ [structure] Matlab's structure describing the model (M_).
% - options_ [structure] Matlab's structure describing the current options (options_). % - options_ [structure] Matlab's structure describing the current options (options_).
@ -10,8 +10,9 @@ function [info, oo_, options_] = discretionary_policy(M_, options_, oo_, var_lis
% - info [integer] scalar or vector, error code. % - info [integer] scalar or vector, error code.
% - oo_ [structure] Matlab's structure containing the results (oo_). % - oo_ [structure] Matlab's structure containing the results (oo_).
% - options_ [structure] Matlab's structure describing the current options (options_). % - options_ [structure] Matlab's structure describing the current options (options_).
% - M_ [structure] Matlab's structure describing the model (M_).
% Copyright (C) 2007-2019 Dynare Team % Copyright (C) 2007-2020 Dynare Team
% %
% This file is part of Dynare. % This file is part of Dynare.
% %
@ -33,7 +34,7 @@ M_=discretionary_policy_initialization(M_,options_);
origorder = options_.order; origorder = options_.order;
options_.discretionary_policy = 1; options_.discretionary_policy = 1;
options_.order = 1; options_.order = 1;
[info, oo_] = stoch_simul(M_, options_, oo_, var_list); [info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list);
if ~options_.noprint if ~options_.noprint
disp_steady_state(M_,oo_) disp_steady_state(M_,oo_)

View File

@ -283,7 +283,7 @@ if info(1) == 0 %no errors in solution
end end
analytic_derivation = options_.analytic_derivation; analytic_derivation = options_.analytic_derivation;
options_.analytic_derivation = -2; %this sets asy_Hess=1 in dsge_likelihood.m options_.analytic_derivation = -2; %this sets asy_Hess=1 in dsge_likelihood.m
[info, oo_, options_] = stoch_simul(M_, options_, oo_, options_.varobs); [info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, options_.varobs);
dataset_ = dseries(oo_.endo_simul(options_.varobs_id,100+1:end)',dates('1Q1'), options_.varobs); %get information on moments dataset_ = dseries(oo_.endo_simul(options_.varobs_id,100+1:end)',dates('1Q1'), options_.varobs); %get information on moments
derivatives_info.no_DLIK = 1; derivatives_info.no_DLIK = 1;
bounds = prior_bounds(bayestopt_, options_.prior_trunc); %reset bounds as lb and ub must only be operational during mode-finding bounds = prior_bounds(bayestopt_, options_.prior_trunc); %reset bounds as lb and ub must only be operational during mode-finding

View File

@ -62,4 +62,4 @@ if ~options_.noprint
end end
osr_res = osr1(i_params,i_var,W); osr_res = osr1(i_params,i_var,W);
[~, oo_, options_] = stoch_simul(M_, options_, oo_, var_list); [~, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list);

View File

@ -39,7 +39,7 @@ else
end end
end end
[info, oo_, options_] = stoch_simul(M_, options_, oo_, var_list); [info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list);
oo_.steady_state = oo_.dr.ys; oo_.steady_state = oo_.dr.ys;

View File

@ -1,4 +1,4 @@
function [info, oo_, options_] = stoch_simul(M_, options_, oo_, var_list) function [info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list)
% Copyright (C) 2001-2020 Dynare Team % Copyright (C) 2001-2020 Dynare Team
% %

View File

@ -130,7 +130,7 @@ par=load([M_.fname filesep 'metropolis' filesep M_.fname '_posterior_draws1']);
for par_iter=1:size(par.pdraws,1) for par_iter=1:size(par.pdraws,1)
M_=set_parameters_locally(M_,par.pdraws{par_iter,1}); M_=set_parameters_locally(M_,par.pdraws{par_iter,1});
[info, oo_, options_]=stoch_simul(M_, options_, oo_, var_list_); [info, oo_, options_, M_]=stoch_simul(M_, options_, oo_, var_list_);
correlation(:,:,par_iter)=cell2mat(oo_.autocorr); correlation(:,:,par_iter)=cell2mat(oo_.autocorr);
covariance(:,:,par_iter)=oo_.var; covariance(:,:,par_iter)=oo_.var;
conditional_variance_decomposition(:,:,:,par_iter)=oo_.conditional_variance_decomposition; conditional_variance_decomposition(:,:,:,par_iter)=oo_.conditional_variance_decomposition;