Options¶
Every setting of a run is a field of one option tree. hetlearn.defaults() returns the full
tree with its default values; Options reference lists every field.
The pages in this section take one group at a time and show working code.
How options reach a run¶
hetlearn.load_options merges the three field by field (later wins) and checks every name
and value. A misspelt field stops the run with hetlearn:options:unknown and the full option
path; a removed option stops it with hetlearn:options:removed and names the replacement.
The merged tree is stored with every result as res.cfg.
Three ways to set an option:
% 1. For the whole project: config/master_options.m
o.switching.intensity = 2;
% 2. For a scenario and everything that inherits from it: in its file
function cfg = my_scenario()
cfg = a1_learn();
cfg.id = 'my_scenario';
cfg.switching.intensity = 1;
end
% 3. For one run, in memory
cfg = a1_learn(); cfg.id = 'try_chi1'; cfg.switching.intensity = 1;
res = hetlearn.run(cfg, 'save', false);
Some groups are replaced as a whole rather than merged: conditions, policy.loss,
expectations.types, expectations.transforms, shares.init, shares.fixed. Free-form
subtrees are merged without name checks: beliefs.init.values, beliefs.plm.by_var,
beliefs.plm.derived, gain.by_var, shares.fixed_n2 (as a struct), shocks.add, report.
To see the options a scenario ends up with:
The pages¶
| Page | Options and functions |
|---|---|
| Expectations | expectations.mode, expectations.variables |
| RE agents | expectations.re_variant, expectations.re_info |
| Timing and information | beliefs.info, expectations.re_info, history.re_states, history.realtime |
| Perceived laws of motion | beliefs.plm.default, .by_var, .derived, .var |
| Gains | gain.rule, gain.value, gain.by_var, gain.koz.* |
| Initial beliefs | beliefs.init.*, beliefs.update, history.learn |
| Shares and switching | shares.*, switching.* |
| Projection facility | projection.facility |
| History modes | history.mode, history.inversion.*, history.kalman.init, history.learn |
| Forecasts, shocks and conditions | forecast.*, shocks.*, conditions, compare_with, engine.* |
| Monetary policy | policy.* |
| Density forecasts | density.* |
| Shock decompositions | hetlearn.decompose |
| Forecast evaluation | hetlearn.evaluate, hetlearn.evaluate_tables |
| Further expectation rules | expectations.types, expectations.transforms, shares.init, shares.fixed; seven rules from the literature |
Defaults and the project baseline
The examples use the SW07 scenarios of the project, which inherit the project baseline of
config/master_options.m (KOZ gain from 0.05, \(\chi = 2\), memory 0.8, t-1 information
for both types, filtered history, facility 'alm'). Where a page quotes a default, it is
the value in hetlearn.defaults(); the baseline value is given next to it when they
differ.