diff --git a/doc/dynare.texi b/doc/dynare.texi index b8bf6f752..1502c4ab1 100644 --- a/doc/dynare.texi +++ b/doc/dynare.texi @@ -4337,6 +4337,15 @@ graphs with prior, posterior, and mode graphs of smoothed shocks, smoothed observation errors, smoothed and historical variables @end itemize +Note that the posterior moments, smoothed variables, k-step ahead +filtered variables and forecasts (when requested) will only be +computed on the variables listed after the @code{estimation} command. +Alternatively, one can choose to compute these quantities on all +endogenous or on all observed variables (see +@code{consider_all_endogenous} and @code{consider_only_observed} +options below). If no variable is listed after the @code{estimation} +command, then Dynare will interactively ask which variable set to use. + Also, during the MCMC (Bayesian estimation with @code{mh_replic}>0) a (graphical or text) waiting bar is displayed showing the progress of the Monte-Carlo and the @i{current} value of the acceptance ratio. Note that @@ -5102,6 +5111,18 @@ Percentage of MCMC draws at the beginning and end of the MCMC chain taken to compute the @cite{Geweke (1992,1999)} convergence diagnostics (requires @ref{mh_nblocks}=1) after discarding the first @ref{mh_drop} percent of draws as a burnin. Default: @code{[0.2 0.5]}. +@item consider_all_endogenous +Compute the posterior moments, smoothed variables, k-step ahead +filtered variables and forecasts (when requested) will be computed on +all the endogenous variables. This is equivalent to manually listing +all the endogenous variables after the @code{estimation} command. + +@item consider_only_observed +Compute the posterior moments, smoothed variables, k-step ahead +filtered variables and forecasts (when requested) will be computed on +all the observed variables. This is equivalent to manually listing +all the observed variables after the @code{estimation} command. + @end table @customhead{Note} diff --git a/matlab/check_list_of_variables.m b/matlab/check_list_of_variables.m index cd34d624a..48a3064a1 100644 --- a/matlab/check_list_of_variables.m +++ b/matlab/check_list_of_variables.m @@ -59,7 +59,9 @@ if options_.dsge_var && options_.bayesian_irf return end -if isempty(varlist) && ~isempty(options_.endo_vars_for_moment_computations_in_estimation) +if ~isempty(varlist) && ~isempty(options_.endo_vars_for_moment_computations_in_estimation) + error('You cannot use the consider_all_endogenous or consider_all_observed options when listing variables after the estimation command') +elseif isempty(varlist) && ~isempty(options_.endo_vars_for_moment_computations_in_estimation) if strcmp(options_.endo_vars_for_moment_computations_in_estimation,'all_endogenous_variables') varlist = M_.endo_names(1:M_.orig_endo_nbr, :); elseif strcmp(options_.endo_vars_for_moment_computations_in_estimation,'only_observed_variables') diff --git a/preprocessor/DynareBison.yy b/preprocessor/DynareBison.yy index e1b38aa14..5e1482523 100644 --- a/preprocessor/DynareBison.yy +++ b/preprocessor/DynareBison.yy @@ -89,6 +89,7 @@ class ParsingDriver; %token BVAR_PRIOR_MU BVAR_PRIOR_OMEGA BVAR_PRIOR_TAU BVAR_PRIOR_TRAIN %token BVAR_REPLIC BYTECODE ALL_VALUES_REQUIRED %token CALIB_SMOOTHER CHANGE_TYPE CHECK CONDITIONAL_FORECAST CONDITIONAL_FORECAST_PATHS CONF_SIG CONSTANT CONTROLLED_VAREXO CORR COVAR CUTOFF CYCLE_REDUCTION LOGARITHMIC_REDUCTION +%token CONSIDER_ALL_ENDOGENOUS CONSIDER_ONLY_OBSERVED %token DATAFILE FILE DOUBLING DR_CYCLE_REDUCTION_TOL DR_LOGARITHMIC_REDUCTION_TOL DR_LOGARITHMIC_REDUCTION_MAXITER DR_ALGO DROP DSAMPLE DYNASAVE DYNATYPE CALIBRATION DIFFERENTIATE_FORWARD_VARS %token END ENDVAL EQUAL ESTIMATION ESTIMATED_PARAMS ESTIMATED_PARAMS_BOUNDS ESTIMATED_PARAMS_INIT EXTENDED_PATH ENDOGENOUS_PRIOR %token FILENAME FILTER_STEP_AHEAD FILTERED_VARS FIRST_OBS LAST_OBS SET_TIME @@ -1622,7 +1623,9 @@ estimation_options : o_datafile | o_geweke_interval | o_mcmc_jumping_covariance | o_irf_plot_threshold - | o_posterior_max_subsample_draws + | o_posterior_max_subsample_draws + | o_consider_all_endogenous + | o_consider_only_observed ; list_optim_option : QUOTED_STRING COMMA QUOTED_STRING @@ -2746,6 +2749,8 @@ o_mcmc_jumping_covariance : MCMC_JUMPING_COVARIANCE EQUAL HESSIAN { driver.option_str("MCMC_jumping_covariance", $3); } ; o_irf_plot_threshold : IRF_PLOT_THRESHOLD EQUAL non_negative_number { driver.option_num("impulse_responses.plot_threshold", $3); }; +o_consider_all_endogenous : CONSIDER_ALL_ENDOGENOUS { driver.option_str("endo_vars_for_moment_computations_in_estimation", "all_endogenous_variables"); }; +o_consider_only_observed : CONSIDER_ONLY_OBSERVED { driver.option_str("endo_vars_for_moment_computations_in_estimation", "only_observed_variables"); }; range : symbol ':' symbol { diff --git a/preprocessor/DynareFlex.ll b/preprocessor/DynareFlex.ll index 457d1ffd7..a30b9eaf0 100644 --- a/preprocessor/DynareFlex.ll +++ b/preprocessor/DynareFlex.ll @@ -1,5 +1,5 @@ /* - * Copyright (C) 2003-2013 Dynare Team + * Copyright (C) 2003-2014 Dynare Team * * This file is part of Dynare. * @@ -522,6 +522,8 @@ DATE -?[0-9]+([YyAa]|[Mm]([1-9]|1[0-2])|[Qq][1-4]|[Ww]([1-9]{1}|[1-4][0-9]|5[0-2 solver_periods {return token::SOLVER_PERIODS;} endogenous_prior {return token::ENDOGENOUS_PRIOR;} long_name {return token::LONG_NAME;} +consider_all_endogenous {return token::CONSIDER_ALL_ENDOGENOUS;} +consider_only_observed {return token::CONSIDER_ONLY_OBSERVED;} [\$][^$]*[\$] {