IRFs with too large percentage deviations with 3rd order solutions?

I am trying to extend the model in the 2015 AER paper “Fiscal Volatility Shocks and Economic Activity” by Fernández-Villaverde et al to a two-country model. However, I found that the IRFs generated by the model show too large percentage deviations (tens of thousands of percentages) from the steady state when I ran 3rd order solutions. I tracked the calculation process of Dynare and found that the 1st, 2nd, and 3rd order derivative matrices produced by the automatically generated file “TwoCountry_dynamic.m” gave reasonable values. However, the outputs given by the function “k_order_perturbation” were quite large in terms of magnitudes. I have already added prunnings in my command. I am stuck here and do not understand why. Can I get any help? Thanks a lot.

I pasted the mod file below. TwoCountry.zip (8.3 KB)

Given that your model features a few roots very close to a unit root, computing GIRFs based on simulations usually performs poorly. That is the reason why people often use GIRFs at stochastic steady state/ergodic mean in the absence of shocks. See Third order perturbation

Dear Prof., thank you so much for your reply. I studied your code Basu_Bundick_2017.mod and plot GIRFs at stochastic steady state/erogodic mean in the absence of shocks. However, the GIRFs still showed huge percentage deviations. One thing was that the stochastic steady state itself showed huge drifts along time. I post the code with GIRFs below. I look forward to your reply.

Yours sincerely,
JingDynare_Reply.zip (9.3 KB)

The stochastic steady state cannot drift. It is a fixed point. But that shows you the problem. This fixed point does not always exist in the sense that it has finite values. You can see that even after 5000 periods of simulation, most variables still keep changing at pretty much the same pace. This suggests the stochastic steady state does not exist for the parameterization you are considering. This also explains why the simulated IRFs do not make sense.
According to my experience this happens when models have too much persistence, usually related close to unit root persistence in asset positions. The result of the check-command shows that there is a root of 0.9999. The solution usually is to choose different parameter values.

1 Like

Dear Prof., I see. This is very helpful. Thank you so much!!!~~~~ I will try to change the parameters.

Yours Sincerely,
Jing