1function options_ = default_option_values(M_)
2%function default_option_values()
3% Returns structure containing the options for Dynare commands and their
4% default values
5%
6% INPUTS
7%    M_         [structure]     Model definition
8%
9% OUTPUTS
10%    options    [structure]     Command options
11%
12% SPECIAL REQUIREMENTS
13%    none
14
15% Copyright (C) 2018-2020 Dynare Team
16%
17% This file is part of Dynare.
18%
19% Dynare is free software: you can redistribute it and/or modify
20% it under the terms of the GNU General Public License as published by
21% the Free Software Foundation, either version 3 of the License, or
22% (at your option) any later version.
23%
24% Dynare is distributed in the hope that it will be useful,
25% but WITHOUT ANY WARRANTY; without even the implied warranty of
26% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27% GNU General Public License for more details.
28%
29% You should have received a copy of the GNU General Public License
30% along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
31
32options_.datafile = '';
33options_.dirname = M_.fname;
34options_.dataset = [];
35options_.verbosity = 1;
36options_.terminal_condition = 0;
37options_.rplottype = 0;
38options_.smpl = 0;
39options_.dynatol.f = 1e-5;
40options_.dynatol.x = 1e-5;
41options_.slowc = 1;
42options_.timing = 0;
43options_.gstep = ones(2,1);
44options_.gstep(1) = 1e-2;
45options_.gstep(2) = 1.0;
46options_.scalv = 1;
47options_.debug = false;
48options_.initval_file = false;
49options_.Schur_vec_tol = 1e-11; % used to find nonstationary variables in Schur decomposition of the
50                                % transition matrix
51options_.qz_criterium = [];
52options_.qz_zero_threshold = 1e-6;
53options_.lyapunov_complex_threshold = 1e-15;
54options_.solve_tolf = eps^(1/3);
55options_.solve_tolx = eps^(2/3);
56options_.dr_display_tol=1e-6;
57options_.minimal_workspace = false;
58options_.dp.maxit = 3000;
59options_.steady.maxit = 50;
60options_.simul.maxit = 50;
61options_.simul.robust_lin_solve = false;
62
63options_.mode_check.status = false;
64options_.mode_check.neighbourhood_size = .5;
65options_.mode_check.symmetric_plots = true;
66options_.mode_check.number_of_points = 20;
67options_.mode_check.nolik = false;
68
69options_.huge_number = 1e7;
70
71% Default number of threads for parallelized mex files.
72options_.threads.kronecker.sparse_hessian_times_B_kronecker_C = num_procs;
73options_.threads.local_state_space_iteration_2 = 1;
74options_.threads.local_state_space_iteration_k = 1;
75options_.threads.perfect_foresight_problem = num_procs;
76options_.threads.k_order_perturbation = max(1, num_procs/2);
77
78% steady state
79options_.jacobian_flag = true;
80
81% steady state file
82if exist(['+' M_.fname '/steadystate.m'],'file')
83    options_.steadystate_flag = 2;
84elseif exist([M_.fname '_steadystate.m'],'file')
85    options_.steadystate_flag = 1;
86else
87    options_.steadystate_flag = 0;
88end
89options_.steadystate_partial = [];
90options_.steadystate.nocheck = false;
91
92% subset of the estimated deep parameters
93options_.ParamSubSet = 'None';
94
95% bvar-dsge
96options_.dsge_var = 0;
97options_.dsge_varlag = 4;
98
99% BVAR a la Sims
100options_.bvar_replic = 2000;
101options_.bvar_prior_tau = 3;
102options_.bvar_prior_decay = 0.5;
103options_.bvar_prior_lambda = 5;
104options_.bvar_prior_mu = 2;
105options_.bvar_prior_omega = 1;
106options_.bvar_prior_flat = false;
107options_.bvar_prior_train = 0;
108options_.bvar.conf_sig = 0.6;
109
110% Initialize the field that will contain the optimization algorigthm's options declared in the
111% estimation command (if anny).
112options_.optim_opt = [];
113
114% Optimization algorithm [6] gmhmaxlik
115gmhmaxlik.iterations = 3;
116gmhmaxlik.number = 20000;
117gmhmaxlik.nclimb = 200000;
118gmhmaxlik.nscale = 200000;
119gmhmaxlik.target = 1/3; % Target for the acceptance rate.
120options_.gmhmaxlik = gmhmaxlik;
121
122% Request user input.
123options_.nointeractive = false;
124
125% Graphics
126options_.graphics.nrows = 3;
127options_.graphics.ncols = 3;
128options_.graphics.line_types = {'b-'};
129options_.graphics.line_width = 1;
130options_.graph_format = 'eps';
131options_.nodisplay = false;
132options_.nograph = false;
133options_.no_graph.posterior = false;
134options_.no_graph.shock_decomposition = false;
135options_.no_graph.plot_shock_decomposition = false;
136options_.XTick = [];
137options_.XTickLabel = [];
138options_.console_mode = false;
139if isoctave
140    if sum(get(0,'screensize'))==4
141        options_.console_mode = true;
142        options_.nodisplay = true;
143    end
144else
145    if isunix && (~usejava('jvm') || ~feature('ShowFigureWindows'))
146        options_.console_mode = true;
147        options_.nodisplay = true;
148    end
149end
150
151% IRFs & other stoch_simul output
152options_.irf = 40;
153options_.impulse_responses.plot_threshold=1e-10;
154options_.zero_moments_tolerance=1e-10;
155options_.relative_irf = false;
156options_.ar = 5;
157options_.hp_filter = 0;
158options_.one_sided_hp_filter = 0;
159options_.filtered_theoretical_moments_grid = 512;
160options_.nodecomposition = false;
161options_.nomoments = false;
162options_.nocorr = false;
163options_.periods = 0;
164options_.noprint = false;
165options_.SpectralDensity.trigger = false;
166options_.SpectralDensity.plot  = 1;
167options_.SpectralDensity.cutoff  = 150;
168options_.SpectralDensity.sdl = 0.01;
169options_.nofunctions = false;
170
171options_.bandpass.indicator = false;
172options_.bandpass.passband = [6; 32];
173options_.bandpass.K=12;
174
175options_.irf_opt.diagonal_only = false;
176options_.irf_opt.stderr_multiples = false;
177options_.irf_opt.irf_shock_graphtitles = {};
178options_.irf_opt.irf_shocks = [];
179
180% Extended path options
181%
182% Set debug flag
183ep.debug = 0;
184% Set memory flag
185ep.memory = 0;
186% Set verbose mode
187ep.verbosity = 0;
188% Set bytecode flag
189ep.use_bytecode = 0;
190% Initialization of the perfect foresight equilibrium paths
191% * init=0, previous solution is used.
192% * init=1, a path generated with the first order reduced form is used.
193% * init=2, mix of cases 0 and 1.
194ep.init = 0;
195% Maximum number of iterations for the deterministic solver.
196ep.maxit = 500;
197% Number of periods for the perfect foresight model.
198ep.periods = 200;
199% Default step for increasing the number of periods if needed
200ep.step = 50;
201% Set check_stability flag
202ep.check_stability = 0;
203% Define last periods used to test if the solution is stable with respect to an increase in the number of periods.
204ep.lp = 5;
205% Define first periods used to test if the solution is stable with respect to an increase in the number of periods.
206ep.fp = 2;
207% Define the distribution for the structural innovations.
208ep.innovation_distribution = 'gaussian';
209% Set flag for the seed
210ep.set_dynare_seed_to_default = 1;
211% Set algorithm for the perfect foresight solver
212ep.stack_solve_algo = 7;
213ep.solve_algo = 9;
214% Number of replications
215ep.replic_nbr = 1;
216% Parallel execution of replications
217ep.parallel = false;
218% Stochastic extended path related options.
219ep.stochastic.IntegrationAlgorithm = 'Tensor-Gaussian-Quadrature'; % Other possible values are 'Stroud-Cubature-3' and 'Stroud-Cubature-5'
220ep.stochastic.method = '';
221ep.stochastic.algo = 0;
222ep.stochastic.quadrature.ortpol = 'hermite';
223ep.stochastic.order = 0;
224ep.stochastic.quadrature.nodes = 5;
225ep.stochastic.quadrature.pruned.status = 0;
226ep.stochastic.quadrature.pruned.relative = 1e-5;
227ep.stochastic.quadrature.pruned.level = 1e-5;
228ep.stochastic.hybrid_order = 0;
229% homotopic step in extended path simulations
230ep.stochastic.homotopic_steps = true;
231% Copy ep structure in options_ global structure
232options_.ep = ep;
233
234
235% Simulations of backward looking models options
236%
237bnlms.set_dynare_seed_to_default = 1;
238bnlms.innovation_distribution = 'gaussian';
239options_.bnlms = bnlms;
240
241
242% Particle filter
243%
244% Default is that we do not use the non linear kalman filter
245particle.status = false;
246% How do we initialize the states?
247particle.initialization = 1;
248particle.initial_state_prior_std = .1;
249% Set the default order of approximation of the model (perturbation).
250particle.perturbation = 2;
251% Set the default number of particles.
252particle.number_of_particles = 5000;
253% Set the default approximation order (Smolyak)
254particle.smolyak_accuracy = 3;
255% By default we don't use pruning
256particle.pruning = 0;
257% Set the Gaussian approximation method for particles distributions
258particle.approximation_method = 'unscented';
259% Set unscented parameters alpha, beta and kappa for gaussian approximation
260particle.unscented.alpha = 1;
261particle.unscented.beta = 2;
262particle.unscented.kappa = 1;
263% Configuration of resampling in case of particles
264particle.resampling.status.systematic = true;
265particle.resampling.status.none = false;
266particle.resampling.status.generic = false;
267particle.resampling.threshold = .5;
268particle.resampling.method.kitagawa = true;
269particle.resampling.method.smooth = false;
270particle.resampling.method.stratified = false;
271% Set default algorithm
272particle.filter_algorithm = 'sis';
273% Approximation of the proposal distribution
274particle.proposal_approximation.cubature = false;
275particle.proposal_approximation.unscented = true;
276particle.proposal_approximation.montecarlo = false;
277% Approximation of the particle distribution
278particle.distribution_approximation.cubature = false;
279particle.distribution_approximation.unscented = true;
280particle.distribution_approximation.montecarlo = false;
281% Number of partitions for the smoothed resampling method
282particle.resampling.number_of_partitions = 200;
283% Configuration of the mixture filters
284%particle.mixture_method = 'particles' ;
285% Size of the different mixtures
286particle.mixture_state_variables = 5 ;
287particle.mixture_structural_shocks = 1 ;
288particle.mixture_measurement_shocks = 1 ;
289% Online approach
290particle.liu_west_delta = 0.99 ;
291particle.liu_west_chol_sigma_bar = .01 ;
292% Options for setting the weights in conditional particle filters.
293particle.cpf_weights_method.amisanotristani = true;
294particle.cpf_weights_method.murrayjonesparslow = false;
295% Copy ep structure in options_ global structure
296options_.particle = particle;
297options_.rwgmh.init_scale = 1e-4 ;
298options_.rwgmh.scale_chain = 1 ;
299options_.rwgmh.scale_shock = 1e-5 ;
300
301% TeX output
302options_.TeX = false;
303
304% Exel
305options_.xls_sheet = 1; % Octave does not support the empty string, rather use first sheet
306options_.xls_range = '';
307
308% Prior draws
309options_.prior_draws = 10000;
310
311% Prior posterior function sampling draws
312options_.sampling_draws = 500;
313
314options_.forecast = 0;
315options_.forecasts.conf_sig = 0.9;
316options_.conditional_forecast.conf_sig = 0.9;
317
318% Model
319options_.linear = false;
320
321% Deterministic simulation
322options_.stack_solve_algo = 0;
323options_.markowitz = 0.5;
324options_.minimal_solving_periods = 1;
325options_.endogenous_terminal_period = false;
326options_.no_homotopy = false;
327
328% Solution
329options_.order = 2;
330options_.pruning = false;
331options_.solve_algo = 4;
332options_.replic = 50;
333options_.simul_replic = 1;
334options_.drop = 100;
335options_.aim_solver = false; % i.e. by default do not use G.Anderson's AIM solver, use mjdgges instead
336options_.k_order_solver = false; % by default do not use k_order_perturbation but mjdgges
337options_.partial_information = false;
338options_.ACES_solver = false;
339options_.conditional_variance_decomposition = [];
340
341% Ramsey policy
342options_.ramsey_policy = false;
343options_.instruments = {};
344options_.timeless = 0;
345options_.ramsey.maxit = 500;
346
347% estimation
348options_.initial_period = NaN; %dates(1,1);
349options_.dataset.file = [];
350options_.dataset.series = [];
351options_.dataset.firstobs = dates();
352options_.dataset.lastobs = dates();
353options_.dataset.nobs = NaN;
354options_.dataset.xls_sheet = [];
355options_.dataset.xls_range = [];
356options_.Harvey_scale_factor = 10;
357options_.MaxNumberOfBytes = 1e8;
358options_.MaximumNumberOfMegaBytes = 111;
359options_.analytic_derivation = 0; % Not a boolean, can also take values -1 or 2
360options_.analytic_derivation_mode = 0;
361options_.bayesian_irf = false;
362options_.bayesian_th_moments = 0;
363options_.diffuse_filter = false;
364options_.filter_step_ahead = [];
365options_.filtered_vars = false;
366options_.smoothed_state_uncertainty = false;
367options_.first_obs = NaN;
368options_.nobs = NaN;
369options_.kalman_algo = 0;
370options_.fast_kalman_filter = false;
371options_.kalman_tol = 1e-10;
372options_.kalman.keep_kalman_algo_if_singularity_is_detected = false;
373options_.diffuse_kalman_tol = 1e-6;
374options_.use_univariate_filters_if_singularity_is_detected = 1;
375options_.riccati_tol = 1e-6;
376options_.lik_algo = 1;
377options_.lik_init = 1;
378options_.load_mh_file = false;
379options_.load_results_after_load_mh = false;
380options_.logdata = false;
381options_.loglinear = false;
382options_.linear_approximation = false;
383options_.logged_steady_state = 0;
384options_.mh_conf_sig = 0.90;
385options_.prior_interval = 0.90;
386options_.mh_drop = 0.5;
387options_.mh_jscale = 0.2;
388options_.mh_tune_jscale.status = false;
389options_.mh_tune_jscale.guess = .2;
390options_.mh_tune_jscale.target = .33;
391options_.mh_tune_jscale.maxiter = 200000;
392options_.mh_tune_jscale.rho = .7;
393options_.mh_tune_jscale.stepsize = 1000;
394options_.mh_tune_jscale.c1 = .02;
395options_.mh_tune_jscale.c2 = .05;
396options_.mh_tune_jscale.c3 = 4;
397options_.mh_init_scale = 2*options_.mh_jscale;
398options_.mh_mode = 1;
399options_.mh_nblck = 2;
400options_.mh_recover = false;
401options_.mh_replic = 20000;
402options_.recursive_estimation_restart = 0;
403options_.MCMC_jumping_covariance='hessian';
404options_.use_calibration_initialization = 0;
405options_.endo_vars_for_moment_computations_in_estimation=[];
406
407% Run optimizer silently
408options_.silent_optimizer = false;
409
410% Prior restrictions
411options_.prior_restrictions.status = 0;
412options_.prior_restrictions.routine = [];
413
414options_.mode_compute = 4;
415options_.mode_file = '';
416options_.moments_varendo = false;
417options_.nk = 1;
418options_.noconstant = false;
419options_.nodiagnostic = false;
420options_.mh_posterior_mode_estimation = 0;
421options_.prefilter = 0;
422options_.presample = 0;
423options_.prior_trunc = 1e-10;
424options_.smoother = false;
425options_.posterior_max_subsample_draws = 1200;
426options_.sub_draws = [];
427options_.ME_plot_tol=1e-6;
428options_.use_mh_covariance_matrix = false;
429options_.gradient_method = 2; %used by csminwel and newrat
430options_.gradient_epsilon = 1e-6; %used by csminwel and newrat
431options_.posterior_sampler_options.sampling_opt = []; %extended set of options for individual posterior samplers
432                                                      % Random Walk Metropolis-Hastings
433options_.posterior_sampler_options.posterior_sampling_method = 'random_walk_metropolis_hastings';
434options_.posterior_sampler_options.rwmh.proposal_distribution = 'rand_multivariate_normal';
435options_.posterior_sampler_options.rwmh.student_degrees_of_freedom = 3;
436options_.posterior_sampler_options.rwmh.use_mh_covariance_matrix=0;
437options_.posterior_sampler_options.rwmh.save_tmp_file=0;
438% Tailored Random Block Metropolis-Hastings
439options_.posterior_sampler_options.tarb.proposal_distribution = 'rand_multivariate_normal';
440options_.posterior_sampler_options.tarb.student_degrees_of_freedom = 3;
441options_.posterior_sampler_options.tarb.mode_compute=4;
442options_.posterior_sampler_options.tarb.new_block_probability=0.25; %probability that next parameter belongs to new block
443options_.posterior_sampler_options.tarb.optim_opt=''; %probability that next parameter belongs to new block
444options_.posterior_sampler_options.tarb.save_tmp_file=1;
445% Slice
446options_.posterior_sampler_options.slice.proposal_distribution = '';
447options_.posterior_sampler_options.slice.rotated=0;
448options_.posterior_sampler_options.slice.slice_initialize_with_mode=0;
449options_.posterior_sampler_options.slice.use_mh_covariance_matrix=0;
450options_.posterior_sampler_options.slice.WR=[];
451options_.posterior_sampler_options.slice.mode_files=[];
452options_.posterior_sampler_options.slice.mode=[];
453options_.posterior_sampler_options.slice.initial_step_size=0.8;
454options_.posterior_sampler_options.slice.save_tmp_file=1;
455% Independent Metropolis-Hastings
456options_.posterior_sampler_options.imh.proposal_distribution = 'rand_multivariate_normal';
457options_.posterior_sampler_options.imh.use_mh_covariance_matrix=0;
458options_.posterior_sampler_options.imh.save_tmp_file=0;
459
460options_.trace_plot_ma = 200;
461options_.mh_autocorrelation_function_size = 30;
462options_.plot_priors = 1;
463options_.cova_compute = 1;
464options_.parallel = 0;
465options_.parallel_info.isHybridMatlabOctave = false;
466options_.parallel_info.leaveSlaveOpen = 0;
467options_.parallel_info.RemoteTmpFolder = '';
468options_.number_of_grid_points_for_kde = 2^9;
469quarter = 1;
470years = [1 2 3 4 5 10 20 30 40 50];
471options_.conditional_variance_decomposition_dates = zeros(1,length(years));
472for i=1:length(years)
473    options_.conditional_variance_decomposition_dates(i) = ...
474        (years(i)-1)*4+quarter;
475end
476options_.filter_covariance = false;
477options_.filter_decomposition = false;
478options_.selected_variables_only = false;
479options_.contemporaneous_correlation = false;
480options_.initialize_estimated_parameters_with_the_prior_mode = 0;
481options_.estimation_dll = false;
482options_.estimation.moments_posterior_density.indicator = true;
483options_.estimation.moments_posterior_density.gridpoints = 2^9;
484options_.estimation.moments_posterior_density.bandwidth = 0; % Rule of thumb optimal bandwidth parameter.
485options_.estimation.moments_posterior_density.kernel_function = 'gaussian'; % Gaussian kernel for Fast Fourrier Transform approximaton.
486                                                                            % Misc
487                                                                            % options_.conf_sig = 0.6;
488
489% homotopy for steady state
490options_.homotopy_mode = 0;
491options_.homotopy_steps = 1;
492options_.homotopy_force_continue = false;
493
494% numerical hessian
495hessian.use_penalized_objective = false;
496
497% Robust prediction error covariance (kalman filter)
498options_.rescale_prediction_error_covariance = false;
499
500options_.hessian = hessian;
501
502%csminwel optimization routine
503csminwel.tolerance.f=1e-7;
504csminwel.maxiter=1000;
505csminwel.verbosity=1;
506csminwel.Save_files=1;
507
508options_.csminwel=csminwel;
509
510%newrat optimization routine
511newrat.hess=1; % dynare numerical hessian
512newrat.tolerance.f=1e-5;
513newrat.tolerance.f_analytic=1e-7;
514newrat.maxiter=1000;
515newrat.verbosity=1;
516newrat.Save_files=1;
517
518options_.newrat=newrat;
519
520% Simplex optimization routine (variation on Nelder Mead algorithm).
521simplex.tolerance.x = 1e-4;
522simplex.tolerance.f = 1e-4;
523simplex.maxiter = 10000;
524simplex.maxfcallfactor = 500;
525simplex.maxfcall = [];
526simplex.verbosity = 2;
527simplex.delta_factor=0.05;
528options_.simplex = simplex;
529
530% CMAES optimization routine.
531cmaes.SaveVariables='on';
532cmaes.DispFinal='on';
533cmaes.WarnOnEqualFunctionValues='no';
534cmaes.DispModulo='10';
535cmaes.LogModulo='0';
536cmaes.LogTime='0';
537cmaes.TolFun = 1e-7;
538cmaes.TolX = 1e-7;
539cmaes.Resume = 0;
540options_.cmaes = cmaes;
541
542% simpsa optimization routine.
543simpsa.TOLFUN = 1e-4;
544simpsa.TOLX = 1e-4;
545simpsa.TEMP_END = .1;
546simpsa.COOL_RATE = 10;
547simpsa.INITIAL_ACCEPTANCE_RATIO = .95;
548simpsa.MIN_COOLING_FACTOR = .9;
549simpsa.MAX_ITER_TEMP_FIRST = 50;
550simpsa.MAX_ITER_TEMP_LAST = 2000;
551simpsa.MAX_ITER_TEMP = 10;
552simpsa.MAX_ITER_TOTAL = 5000;
553simpsa.MAX_TIME = 2500;
554simpsa.MAX_FUN_EVALS = 20000;
555simpsa.DISPLAY = 'iter';
556options_.simpsa = simpsa;
557
558%solveopt optimizer
559solveopt.minimizer_indicator=-1; %use minimizer
560solveopt.TolX=1e-6; %accuracy of argument
561solveopt.TolFun=1e-6; %accuracy of function
562solveopt.MaxIter=15000;
563solveopt.verbosity=1;
564solveopt.TolXConstraint=1.e-8;
565solveopt.SpaceDilation=2.5;
566solveopt.LBGradientStep=1.e-11;
567options_.solveopt=solveopt;
568
569%simulated annealing
570options_.saopt.neps=10;
571options_.saopt.maximizer_indicator=0;
572options_.saopt.rt=0.10;
573options_.saopt.MaxIter=100000;
574options_.saopt.verbosity=1;
575options_.saopt.TolFun=1.0e-8;
576options_.saopt.initial_temperature=15;
577options_.saopt.ns=10;
578options_.saopt.nt=10;
579options_.saopt.step_length_c=0.1;
580options_.saopt.initial_step_length=1;
581
582% particleswarm (global optimization toolbox needed)
583particleswarm.Display = 'iter';
584particleswarm.DisplayInterval = 1;
585particleswarm.FunctionTolerance = 1e-6;
586particleswarm.FunValCheck = 'on';
587particleswarm.HybridFcn = [];
588particleswarm.InertiaRange = [0.1, 1.1];
589particleswarm.MaxIterations = 100000;
590particleswarm.MaxStallIterations = 20;
591particleswarm.MaxStallTime = Inf;
592particleswarm.MaxTime = Inf;
593particleswarm.MinNeighborsFraction = .25;
594particleswarm.ObjectiveLimit = -Inf;
595particleswarm.UseParallel = false;
596particleswarm.UseVectorized = false;
597options_.particleswarm = particleswarm;
598
599% prior analysis
600options_.prior_mc = 20000;
601options_.prior_analysis_endo_var_list = {};
602
603% did model undergo block decomposition + minimum feedback set computation ?
604options_.block = false;
605
606% model evaluated using a compiled MEX
607options_.use_dll = false;
608
609% model evaluated using bytecode.dll
610options_.bytecode = false;
611
612% if true, use a fixed point method to solve Sylvester equation (for large scale models)
613options_.sylvester_fp = false;
614
615% convergence criteria to solve iteratively a sylvester equations
616options_.sylvester_fixed_point_tol = 1e-12;
617
618% if true, use a fixed point method to solve Lyapunov equation (for large scale models)
619options_.lyapunov_fp = false;
620% if true, use a doubling algorithm to solve Lyapunov equation (for large scale models)
621options_.lyapunov_db = false;
622% if true, use a square root solver to solve Lyapunov equation (for large scale models)
623options_.lyapunov_srs = false;
624
625% convergence criterion for iteratives methods to solve lyapunov equations
626options_.lyapunov_fixed_point_tol = 1e-10;
627options_.lyapunov_doubling_tol = 1e-16;
628
629% if true, use a cycle reduction method to compute the decision rule (for large scale models)
630options_.dr_cycle_reduction = false;
631
632% convergence criterion for iteratives methods to solve the decision rule
633options_.dr_cycle_reduction_tol = 1e-7;
634
635% if true, use a logarithmic reduction method to compute the decision rule (for large scale models)
636options_.dr_logarithmic_reduction = false;
637
638% convergence criterion for iteratives methods to solve the decision rule
639options_.dr_logarithmic_reduction_tol = 1e-12;
640
641% convergence criterion for iteratives methods to solve the decision rule
642options_.dr_logarithmic_reduction_maxiter = 100;
643
644% dates for historical time series
645options_.initial_date = dates();
646
647% discretionary policy
648options_.discretionary_policy = 0;
649options_.discretionary_tol = 1e-7;
650
651% Shock decomposition
652options_.parameter_set = [];
653options_.use_shock_groups = '';
654options_.shock_decomp.colormap = '';
655options_.shock_decomp.init_state = 0;
656options_.shock_decomp.with_epilogue = false;
657
658% Shock decomposition realtime
659options_.shock_decomp.forecast = 0;
660options_.shock_decomp.presample = NaN;
661options_.shock_decomp.save_realtime = 0; % saves memory
662options_ = set_default_plot_shock_decomposition_options(options_);
663
664% Nonlinearfilters
665options_.nonlinear_filter = [];
666
667% SBVAR & MS SBVAR initializations:
668% SBVAR
669options_.ms.vlistlog = [];
670options_.ms.restriction_fname = 0;
671options_.ms.cross_restrictions = false;
672options_.ms.contemp_reduced_form = false;
673options_.ms.real_pseudo_forecast = 0;
674options_.ms.dummy_obs = 0;
675options_.ms.ncsk = 0;
676options_.ms.indxgforhat = 1;
677options_.ms.indxgimfhat = 1;
678options_.ms.indxestima = 1;
679options_.ms.indxgdls = 1;
680options_.ms.cms =0;
681options_.ms.ncms = 0;
682options_.ms.eq_cms = 1;
683options_.ms.banact = 1;
684options_.ms.log_var = [];
685options_.ms.Qi = [];
686options_.ms.Ri = [];
687options_.ms.lower_cholesky = 0;
688options_.ms.upper_cholesky = 0;
689options_.ms.constants_exclusion = 0;
690
691% MS SBVAR (and some SBVAR)
692options_ = initialize_ms_sbvar_options(M_, options_);
693
694% saved graph formats
695options_.graph_save_formats.eps = 1;
696options_.graph_save_formats.pdf = 0;
697options_.graph_save_formats.fig = 0;
698
699% risky steady state
700options_.risky_steadystate = false;
701
702% endogenous prior
703options_.endogenous_prior = false;
704options_.endogenous_prior_restrictions.irf={};
705options_.endogenous_prior_restrictions.moment={};
706
707% OSR Optimal Simple Rules
708options_.osr.opt_algo=4;
709
710% use GPU
711options_.gpu = false;
712
713%Geweke convergence diagnostics
714options_.convergence.geweke.taper_steps=[4 8 15];
715options_.convergence.geweke.geweke_interval=[0.2 0.5];
716%Raftery/Lewis convergence diagnostics;
717options_.convergence.rafterylewis.indicator=false;
718options_.convergence.rafterylewis.qrs=[0.025 0.005 0.95];
719
720%tolerance for Modified Harmonic Mean estimator
721options_.marginal_data_density.harmonic_mean.tolerance = 0.01;
722
723% Options for lmmcp solver
724options_.lmmcp.status = false;
725
726% Options for lcppath solver
727options_.lcppath.A = [];
728options_.lcppath.b = [];
729options_.lcppath.t = [];
730options_.lcppath.mu0 = [];
731
732% Options for mcppath solver
733options_.mcppath.A = [];
734options_.mcppath.b = [];
735options_.mcppath.t = [];
736options_.mcppath.mu0 = [];
737
738%Figure options
739options_.figures.textwidth=0.8;
740
741options_.varobs_id=[]; %initialize field
742
743end
744