Truncated normal distribution for shocks

Dear all,

I was wondering if it is possible to specify a shock in dynare that has a truncated normal distribution?

Say, a normal distribution with \mu and \sigma but the shock only takes positive value?
I.e., \epsilon = |X| where X \in N(\mu,\sigma)

Thanks!

Hi, We only have the normal distribution when we simulate models. Obviously you can apply a non linear function on the exogenous variables (in the model block) that truncates the realizations… But doing perturbation (with stoch_simul command) you would loose the restrictions implied by this function. It would only work with the extended path approach (extended_path command) which does not rely on local approximations. An alternative is to directly use one of the internal routines used by stoch_simul: simult_.m which allows to simulate the model with an arbitrary sequence of shocks. Note however that the reduced form solution of the model is computed under the assumption that the exogenous variables are zero mean (which is not the case with a truncated Gaussian).

Best,
Stéphane.

Thank you for your reply. Just trying to see if I got it correct:

  1. Truncation by function does not help because the perturbation performs locally
  2. simult_.m can perform such a task, but the decision rules of the simulation are derived as if the shocks were not truncated.

So the only hope is extended_path?Thanks!

1 Like

Correct.

But note that the problem is only when the mean is non zero. After all, you might have a truncated distribution with zero mean… The problem with the non zero mean, is that it will shift the mean of the endogenous variables (or at least some of them), so if you linearise around the deterministic steady state (computed by dynare under the assumption that the expectations of the exogenous variables are zero) you are approximating the model around the wrong point (and this will most likely affect the reduced form parameters). A possible workaround would be to provide the steady state in a steady_state block, with the nocheck option so that dynare does not check that the steady state you provide is correct (obviously there is a risk here), artificially adding constants for the non zero mean shocks. Dynare would then compute the correct reduced form, that could be used with the simult_ routine.

Best,
Stéphane.

Let me add that @stepan-a’s point is only valid at first order. At second order where certainty equivalence does not hold anymore you would additionally rely on wrong distributional assumptions to compute the uncertainty correction.
Also Drawing from non-normal distributions(uniform)in simulation is potentially relevant.

Hi, I would like to bring up an old topic. Can you recommend any papers that have utilized truncated normal distributions to model non-negative shocks?

Was also wondering if OccBin can be used to generate truncated normal distribution?

Thanks!

Can you elaborate on what exactly you are trying to do?

I am trying to model large non-negative shocks. (potentially highly skewed)

If I were to employ a log-normal process for this purpose, it would entail an extremely large standard deviation of the underlying normal distribution, leading to a highly skewed distribution. This would raise concerns about the accuracy of the model solution?

A related post is here

Thanks!

The big question is whether agents should take the properties of the shock distribution into account.