1. Understanding a rise_model object
Every modern factory – dsge_model(...), rfvar_model(...),
svar_model(...), proxy_svar_model(...),
prfvar_model(...), dsge_var_model(...) – returns an
object of the same class: rise_model. The fields below are the
canonical ones; the engines (solve, filter, estimate, forecast,
irf, decompositions) read these and only these, regardless of
which factory produced the object.
1.1. Ordering and information about atoms
1.1.1. Endogenous variables
For DSGE-shaped models, endogenous variables are ordered by group, and within each group alphabetically:
static variables – variables dated in period
tonly.purely predetermined variables – variables dated in periods
tandt-1.predetermined and forward-looking variables – variables dated in periods
t,t-1andt+1.purely forward-looking variables – variables dated in periods
tandt+1.
For VAR-shaped models (reduced-form, structural, proxy SVAR,
panel, DSGE-VAR) the endogenous variables are in the order they
were passed to the factory. Panel models additionally append a
per-unit suffix during expansion (GROWTH_US, GROWTH_CA,
…).
1.1.2. Exogenous variables
Alphabetical order.
1.1.3. Parameters
Alphabetical order.
1.1.4. Observables
Alphabetical order.
1.2. Information on model equations
get(m, 'equations') returns the equations as they were
written, together with their labels (the quoted strings that
appear before each equation in the model file). The equations are
the parser-canonical form; the original raw text of the model file
is not preserved.
VAR-family models do not have model-file equations in the same
sense; get(m, 'equations') returns the canonical structural /
reduced-form representation the parser built from the factory
arguments.
1.3. Provenance: which RISE version built the model
Every constructed model records the RISE version that produced it,
and – once estimated – the version that estimated it. Query it
through the get interface; the keys also appear in the
no-argument get(m) catalog of gettable elements:
m = dsge_model('fs2000');
get(m, 'rise_version') % struct: .construction / .estimation
% ans.construction -> '20260626' (version that built m)
% ans.estimation -> '' (empty: not estimated yet)
get(m, 'construction_version') % '20260626'
get(m, 'estimation_version') % ''
The same values are reachable programmatically as
m.construction_version, m.estimation_version and
m.rise_version. These three are kept out of the model’s default
display to avoid clutter, but the display does carry a compact
version triple ordered [installed | construction |
estimation] – the currently installed toolbox alongside the two
stamps – so a mismatch (a model built or estimated under a
different RISE than the one now on the path) is visible at a glance.
For options specifically, get(m, 'options') returns this model’s
current settable options and their values – the get-side companion
to set. The full catalog of option names with their default
values is set(rise.engine.models.rise_model.empty). The gettable
catalog is the no-argument get(m).
The construction stamp is set when the object is built and the
estimation stamp when estimate runs, so a model built under
one version and estimated under a later one reports both faithfully:
mest = estimate(m, 'data', db, 'estim_priors', priors, ...);
get(mest, 'estimation_version') % version that ran the estimation
Both stamps are frozen into model_data and therefore survive a
save/load round-trip – loading a model under a newer RISE does not
overwrite the version that originally built it. summary(m) prints
them as Built with RISE / Estimated with RISE lines.
This is distinct from rise.version, which reports the currently
installed toolbox rather than any particular model. Models saved
before provenance stamping was introduced load unchanged and report
'' (unknown) for the missing stamps.
1.4. Information on model results
1.4.1. First-order structural form
The matrices of the parsed first-order structural form are
reachable via extract_first_order_structure. They include the
contemporaneous, lead and lag Jacobians used to feed the
perturbation solver (DSGE-shaped models) or the structural-form
matrices A0, A1, …, Ap (SVAR-shaped models).
1.4.2. Solution results
After solve succeeds, the solution lives in
m.state_space{1} (one entry per parameterization) and includes
the regime-specific transition matrices, the shock-impact
matrices, and the steady state. Use print_solution(m) for a
human-readable view:
print_solution(m)
print_solution(m, {'pi','y'}) % restrict to a subset
The shape of state_space is the same across factories – the
unified state-space representation described in
Modern architecture.
1.4.3. Posterior maximisation results
After estimate succeeds:
m_est.estimation.posterior_maximization.mode
m_est.estimation.posterior_maximization.mode_stdev
m_est.estimation.posterior_maximization.hessian
m_est.estimation.posterior_maximization.vcov
m_est.estimation.posterior_maximization.log_post
m_est.estimation.posterior_maximization.log_lik
m_est.estimation.posterior_maximization.log_prior
m_est.estimation.posterior_maximization.log_marginal_data_density_laplace
The field names and shapes are the same across factories.
See Estimation for the full surface.