Simulating DSGE with Markov switching process


  1. Is it possible to simulate a given DSGE model with specified Markov-switching process, i.e. to obtain IRFs for it, without estimating it previously?

In particular, I have a calibrated DSGE model and want to add time-varying volatility of shocks into the it. The uncertainty process calibration has already been implemented elsewhere (Bloom, 2012), so I just want to run my model’s simulation without an estimation step because I want to use Bloom’s calibration. Would that be possible? If yes, how can I do it?

  1. I have also been unable to run DH10.mod file, posted in DynareWiki as an example for Markov switching ( This is the error message:

    ERROR: DH10.mod: line 10, cols 27-42: syntax error, unexpected NAME, expecting RESTRICTIONS or CHAIN or DURATION or NUMBER_OF_REGIMES
    Error using dynare (line 156)
    DYNARE: preprocessing failed

Could you please help me to deal with these two issues?
Thank you in advance.

  1. Dynare does not support Markov-Switching DSGE models yet. But it seems you are confusing a Markov process for an exogenous variable (essentially a discretized version of a continuous distribution used as a numerical trick) with a true Markov switching process. For a stochastic volatility process there is no reason to use a discrete Markov process if you solve the model with perturbation. Take a look at the replication files of Born/Pfeifer (2014): “Risk Matters: A comment” at for a SV process. Bloom usually uses global solution techniques that require a discretized version.
  2. See [Markov-Switching Models (DSGE; BVAR...))
1 Like
  1. So for example, some people assume TFP (z_t) ∈\{z_L,z_H\}, and thus, it follows a two-point Markov process with transition matrix \Pi. This cannot be done in dynare yet, yeah?

  2. Does it matter whether one specifies shocks as above or as an AR(1) Markov process like log z_t=ρ log z_{t−1}+ϵ_t where ϵ_t follows a normal distribution? And some even assumes ϵ_t ∈\{ϵ_L,ϵ_H\} which evolves with transition matrix \Pi rather than ϵ_t \sim N(0,\sigma^2). I guess it is just a matter of preference, yeah? In one, there is no \rho but \Pi. And in the other, no \Pi but \rho…although both are Markov processes. Does it matter for aggregate fluctuations which one is used?

  3. And how about heterogeneous agent models? I guess specifying idiosyncratic shocks as z_t(j) ∈\{z_L,z_H\} (with transition matrix \Pi) or log z_t(j)=ρ log z_{t−1}(j)+ϵ_t, ϵ_t \sim N(0,\sigma^2) will affect, say the distribution of endogenous state and control variables, yeah? Like with ϵ_t \sim N(0,\sigma^2), the distribution of liquid and illiquid assets will also be normally distributed. But for z_t(j) ∈\{z_L,z_H\} (with transition matrix \Pi), the distribution will depend on the parameters in \Pi, I guess. Many thanks for a reply.

  1. The problem is how to specify the transition. There is no way to make the regime jump as all shocks are continuous.
  2. The lognormal process has a continuous distribution. The N-state Markov process can be seen as a discrete approximation to that process. For a sufficient size of N, the difference should be rather small, but it may matter for small N.
  3. Again, it’s a matter of what you are trying to achieve. Infinite dimensional objects like continuous distributions are computationally hard to handle. Doing a discrete approximation may simplify computations, but at the cost of accuracy.
1 Like

Many thanks. Yeah, I see different shock processes in the literature but authors typically do not say why they choose one over another. Thanks for the insights.