Alternative Policies
Procedure
This section describes forecasting under an alternative monetary policy rule. That is:
- Filtering and smoothing is done under the historical monetary policy rule, i.e. the one defined in the
eqcondmethod for the given model. - Before forecasting, the state space matrices are recomputed under the alternative policy rule.
- Forecasts and IRFs are computed under the alternative rule.
Note that shock decompositions (and the two associated products, trends and deterministic trends) cannot currently be computed under an alternative policy.
The user defines some instance of the AltPolicy type (described below) and sets it as the value for the :alternative_policy Setting. Then the function calls made to forecast and compute means and bands remain the same as usual (see Forecasting and Computing Means and Bands).
For example, suppose you have defined the functions taylor93_eqcond and taylor93_solve corresponding to Taylor (1993)'s proposed monetary policy rule. Then you can run:
m = AnSchorfheide()
m <= Setting(:alternative_policy, AltPolicy(:taylor93, taylor93_eqcond, taylor93_solve))
forecast_one(m, :mode, :none, [:forecastobs, :forecastpseudo])
compute_meansbands(m, :mode, :none, [:forecastobs, :forecastpseudo])The AltPolicy Type
DSGE.AltPolicy — Type.mutable struct AltPolicyType defining an alternative policy rule.
Fields
key::Symbol: alternative policy identifiereqcond::Function: a version ofDSGE.eqcondwhich computes the equilibrium condition matrices under the alternative policy. LikeDSGE.eqcond, it should take in one argument of mutable structAbstractModeland return theΓ0,Γ1,C,Ψ, andΠmatrices.solve::Function: a version ofDSGE.solvewhich solves the model under the alternative policy. LikeDSGE.solve, it should take in one argument of mutable structAbstractModeland return theTTT,RRR, andCCCmatrices.forecast_init::Function: a function that initializes forecasts under the alternative policy rule. Specifically, it accepts a model, annshocksxn_forecast_periodsmatrix of shocks to be applied in the forecast, and a vector of initial states for the forecast. It must return a new matrix of shocks and a new initial state vector. If no adjustments to shocks or initial state vectors are necessary under the policy rule, this field may be omitted.color::Colorant: color to plot this alternative policy in. Defaults to blue.linestyle::Symbol: line style for forecast plots under this alternative policy. See options fromPlots.jl. Defaults to:solid.