Simulation starting from a intial point away from SS

I wanted to simulate the IRFs from an initial point that is kind of far away from the steady state, say GDP is 50% higher than the steady state.

I understand in principle the linear approximation around steady state maybe markedly distinct from other points outside the steady state. On the other hand, steady state is hard to pinned down if the initval is far away from the steady state.

But I still wish to simulate from an initial point somewhat far from the steady state. So is it possible to realize it in Dynare, or other tools? Cheers!

I don’t get your point. IRFs at first order are linear. There is not state dependence. An IRF to a 1% shock at the steady state will be exactly the same as an IRF to a 1% shock 50% above the steady state.

Only at higher order does the point in the state space play a role (see Generalized IRFs). In Dynare, you could use the simult_ command directly to compute IRFs from a different point in the state space (an example can be found in the replication files for Born/Pfeifer (2014): “Risk Matters: A comment” on my homepage). However, what you need to be aware of is that the accuracy of the approximation might be poor when you are far away from steady state.

Sorry but I don’t understand why there would no difference for first order approximation. I thought to estimate the slope coefficient on the deviation from a certain point should use the value of that point. So the IRFs would be initial point specific. Is anything wrong?

Secondly, in the replication files for Born/Pfeifer (2014), did you use a particular simult_FGRU to simulate IRFs from a point outside the steady state? Sorry I don’t quite understand the files. Can you be more specific how to use the general simult_ to start from a point not at steady state, or should I write my own simult_XX? Cheers!

Your IRF comes from a policy function of the form:
y_t=rhox_t+epsilon;
where x_t are the states. What you do now is shock epsilon in the first period and compare it to the system where the shock has not happened, i.e.
y_t(shock)-y_t(noshock)=rho
x_t+epsilon-rho*x_t=epsilon;
Thus, there is no interaction with the state x_t, because due to linearity of the policy function the position in the state space cancels when you subtract the unshocked system.

Regarding IRF generation, you must generate
y_t(shock)-y_t(noshock)
using the Dynare simult_ function. A straightforward example with hopefully readable code is in the RBC_news_shock_model.mod on my homepage.

Oh, I see. rho is not initial point specific. If it is decided by the steady state, I guess, then I agree it hurts the accuracy to simulate a point far away from the steady state.

It is not about the rho, which is a deep parameter, but the fact that at higher order you would get some additional interaction terms between shocks and states like rho_2x_tepsilon that would also stay.

I see the importance of the interaction terms at higher orders.

But I thought even including the interaction term, there would still be a problem if rho is evaluated at steady state while the simulation starts from other points. However, you said rho is a deep parameter. I am confused how is rho decided and whether the way it is pinned down matters. At the back of my head, rho is like something in the Talyor expansion evaluated at the point we approximate around, e.g. f’(x0), 1/2 f"(x0)…

There are two things to distinguish.

  1. The approximation error of using decision rules that are valid close to the steady state (which determines rho) for simulating time series far away from the steady state. This is the thing you seem to be concerned about. It is not clear a priori how severe this issue is. If your true policy function is a second order polynomial, a first order approximation will be poor once you move away from the approximation point. However, the second order approximation will recover the whole policy function and will be accurate everywhere. Approximating at the steady state won’t be a problem in this case. The rho would be correct.

  2. I was pointing out that in addition to just having the “wrong” rho for looking at the different point in the state space, you are also missing additional higher order terms that you most probably are interested in.

Bottom line: you need to consider both approximation errors. Conceptually the second one is more problematic for the question you seem to be asking. But admittedly, the first one could be more severe.

To check: does the order of the approximation in simult_ follow the order chosen in stoch_simul()?

[quote=“jpfeifer”]I don’t get your point. IRFs at first order are linear. There is not state dependence. An IRF to a 1% shock at the steady state will be exactly the same as an IRF to a 1% shock 50% above the steady state.

Only at higher order does the point in the state space play a role (see Generalized IRFs). In Dynare, you could use the simult_ command directly to compute IRFs from a different point in the state space (an example can be found in the replication files for Born/Pfeifer (2014): “Risk Matters: A comment” on my homepage). However, what you need to be aware of is that the accuracy of the approximation might be poor when you are far away from steady state.[/quote]

Not automatically. You have to indicate the order separately as the last input argument. You should always choose the same order as in the previous stoch_simul command, because:

  1. You cannot go higher than the one requested in stoch_simul.
  2. Using stoch_simul with order 3 and then using a lower will result in wrong results as at order 3 there appear additional terms in g_x that should not be there at order 1 or 2.