RainbowStats™ · DSGE commands

DSGE_MODEL

Create a linear or affine model.

Syntax

M=DSGE_MODEL()

Retain returned model updates

Always assign model-building results back to the model variable. Use M=ADD_DSGE_EQUATION(M,...), M=COMPILE_DSGE(M), M=SOLVE_DSGE(M) and M=SET_DSGE_INITIAL(M,...). Unassigned calls are not a reliable way to retain updates in the script evaluator. Model-building commands return a model; FORECAST_DSGE returns a presentation.

Complete runnable example

M=DSGE_MODEL()
M=ADD_DSGE_SHOCK(M,"EPS")
M=ADD_DSGE_EQUATION(M,"X=0.5*LAG(X,1)+EPS")
M=COMPILE_DSGE(M)
M=SOLVE_DSGE(M)
M=SET_DSGE_INITIAL(M,"X",2)
FORECAST_DSGE(M,12)

The first displayed point is 2, followed by 1 and 0.5. The registered EPS innovation is zero during this deterministic forecast.

Behavior and interpretation

Creates a model definition with no equations. It must contain a valid linear system before it can be solved. Register any shock names, add quoted equations, compile and solve. Every model-building command returns a model: assign that return value back to the model variable.

The compiler accepts linear or affine equations. Use coefficients calibrated by the user or obtained from a separate estimation; creating or solving this model does not estimate those coefficients from data. A nonlinear economic model must first be linearized outside these commands.

Shocks are optional for deterministic recurrences. For example, replace the shock-registration and equation lines with M=ADD_DSGE_EQUATION(M,"X=0.96*LAG(X,1)+0.0208"), then compile, solve, set the initial value and forecast. This generates an affine adjustment path, not a full general-equilibrium model by itself.

Model extracts and prerequisites

Use EXTRACT(M,"key") on the retained model. Definition metadata such as equations and parameters can be inspected before solving; coefficient matrices require compilation; solution diagnostics, transition matrices and impulse-response results require a successful solve and may depend on model settings.

In parameter:name, setting:name and result:name, replace name with an actual name. For a registered shock EPS, the impulse-response key pattern is impulse_response_chart_EPS or impulse_response_data_EPS, subject to result availability. Do not treat registration as an applied forecast shock.

Error handling

If a build, compile or solve step returns an error or diagnostic string instead of a model, stop and correct that step. Do not assume that later commands can forecast an unchanged or unsolved model.

Available extracts

Save the command result in a variable, then use EXTRACT(result, "key"). Availability can depend on the input form and fitted model.

In indexed patterns such as beta:n, replace n with the required index.

Learn more

Detailed guide and examples