Permanent shock

Hi

In deterministic simulation, we specify a permanent shock by the use of initval and endval.

But how to specify a permanent shock in stochastic simulation?

Thanks

1 Like

By specifying the exogenous process as a unit root process. Any shock will be permanent. Note that this only works for IRFs, but not stochastic simulations as the simulation will move arbitrarily far away from the initial approximation point/steady state and the solution used may become wildly inaccurate.

Sorry, I am confused what’s the difference between irfs and stochastic simulations. I thought irfs is also a kind of simulations. But maybe irfs can start from a given initial condition. Then, if the initial condition is away from steady state, does irfs are wrong as well?

Also, can you say something more why the size of a permanent shock should be smaller than a temporary shock, or irfs explode?

And what is the difference between forecast and stochastic simulation?

For IRFs, there is a one time shock and you start from steady state (or some other point close to it). The decision rules computed at the initial steady state will be pretty accurate. The size of the shock is also relevant for accuracy. The larger the shock, the bigger the approximation error. It makes not much of a difference whether the shock is permanent or temporary in this last regard.

For simulations, there is a sequence of permanent shocks that moves the system arbitrarily far away from the old steady state where the decision rules were computed. At some point, the decision rules computed at the old steady state will be really inaccurate for the new point where your simulation currently is.
This problem always arises when you get further away from the initial steady state and this also potentially affects forecasts

So are irfs in oo_.endo_simul more precise, while stochastic simulation in oo_.mean and oo_.var less precise?

The unconditional variance in oo_.mean does not even exist if there are permanent shocks.

If I don’t give any information on the variance or standard deviation of a shock in the shock block, but declared it in the varexo block, and modelled it in the model block, is this shock actually not a stochastic shock because of a zero variance?

Sorry, I asked because I thought entering variance or s.d. of a shock in the shock block is just to get irfs of this shock in particular. The size of the shock for irfs is what I entered. And if I don’t do that, dynare is not going to plot irfs for that shock but still treats that as a stochastic shock, thereby generating risk premium. Please correct me if I were wrong.

Can I get the simulation of a shock with a size not equal to a standard deviation just using stoch_simul in a .mod file? I thought of one way that is to use simul_ in another .m file.

In a stochastic model, do we treat steady state with perfect foresight and no stochastic shocks, thereby no risk premium?

However, stoch_simul draws numerous shocks, considering risk premium, if order>=2. Then I don’t think irfs will go back to the steady state eventually, won’t it?

Also, if steady state doesn’t consider risk premium, I am not sure if it is a good starting point of irfs. Is it fair to use a stationary equilibrium with the realization of the shock at its mean instead?

I checked policy functions with different magnitude of variance of shocks, coefficients on state variables and shocks don’t change. Only constants and corrections differ. But the sum of the two are the same for different variance. Why different variance doesn’t change the decision rule? I thought a higher variance, higher risk premium. One extreme case, zero variance is like a deterministic one. Does dynare use the information of the variance except irfs?

Sorry for several posts, but I am really confused.

The variance of the shocks block is used for computing decision rules and thus matters. For IRFs, by convention we use a one standard deviation shocks.Because the IRFs are generated using the decision rules, they are also affected by the variance.

As discussed in Schmitt-Grohé/Uribe (2004) - Solving Dynamic General Equilibrium Models Using a Second-Order Approximation to the Policy Function, the variance at second order affects only the constant term, not the slope. As discussed in Fernandez-Villaverde et al (2011) - Risk Matters does only at third order the variance affect the slope.

You are right that at second order the IRFs should not go back to steady state. But you are missing that Dynare at second order provides GIRFs at the ergodic mean and the GIRFs will always return to the ergodic mean.

Maybe the RBC_state_dependent_GIRF.mod on my homepage can clarify matters.

Thank you!

I see. The stochastic simulation starts from and is supposed to return to the ergodic mean. And in first order approximation, it coincides with the steady state.

Connected to the policy function, there is no correction term in the first order approximation but there is in the second. I didn’t find explanation of the correction term in the User guide or reference manual. I guess it is related to the gap between steady state and the ergodic mean. Could you tell me what constant and correction are? Say the formula of the policy function from dynare is
control variable= state variables+ shock+ shockshock+ state variablesstate variables+ state variables*shock+ constant+ correction. I think control and state variables are in deviations from the steady state.

Btw, is dynare 4.5 coming?

[quote=“jpfeifer”]The variance of the shocks block is used for computing decision rules and thus matters. For IRFs, by convention we use a one standard deviation shocks.Because the IRFs are generated using the decision rules, they are also affected by the variance.

As discussed in Schmitt-Grohé/Uribe (2004) - Solving Dynamic General Equilibrium Models Using a Second-Order Approximation to the Policy Function, the variance at second order affects only the constant term, not the slope. As discussed in Fernandez-Villaverde et al (2011) - Risk Matters does only at third order the variance affect the slope.

You are right that at second order the IRFs should not go back to steady state. But you are missing that Dynare at second order provides GIRFs at the ergodic mean and the GIRFs will always return to the ergodic mean.

Maybe the RBC_state_dependent_GIRF.mod on my homepage can clarify matters.[/quote]

The constant is the steady state plus the correction term 0.5*g_sigmasigma in the SGU notation.

We are still working on 4.5 but many/most features and bugfixes are already in the current unstable version.

Hi! Also a question concerning a permanent shock. I want to simulate the transition path of the model between two steady state values of one variable (the model is log linearized). So I have four stochatic shocks and a permanent shift in one variable. Can I tell Dynare the Initial and end values for the variable to which I have a permanent shock?

As soon as you want to work with stochastic shocks in your setup, you need to work with stoch_simul and cannot use terminal conditions. Rather, if you really not stochastic simulation, you need to specify a unit root shock process that takes care of the permanent shift.