The following code is how I usually conduct a simulation using simult_ command (with order=2)

ee = randn(1000,5); stdev = M_.params(29:33);
ex = ee * diag(stdev) *0; dr=oo_.dr; iorder=2; y0=oo_.dr.ys;
y_=simult_(y0, dr, ex_, iorder);

My question is, even though I let all the innovations be zero (as you can see from the code), the simulated values are not constant at their steady state level. They were when the order =1, but not when order =2.

It seems to me that “oo_.dr.ghs2” term deviates an endogenous variable from its steady state level (without any shock) and begins some dynamics.

Do I understand correctly? Even if it is right, It just seems weird to me that variables move away from their steady state even when there are no shocks.

[quote=“jpfeifer”]Dear Leo,
this is a by now well-known property. The simulation you describe causes the system to transition to the stochastic steady state. See [Simult_ and nonzero IRFs in higher-order approximations)[/quote]

Thank you prof. Pfeifer,

Can I make one more following question? I read the thread you mentioned. If I understand correctly, I should use “stochastic steady state” if I’d like to simulate my model or calculate IRFs using simult_.

Following code is how I simulated my model for 25,000 periods using simult_ and order=2 using “stochastic steady state”. Am I doing right?

ex_ = zeros(1000,5); y0=oo_.dr.ys; dr=oo_.dr; iorder=2;
y_=simult_(y0, dr, ex_, iorder);
% This block is used to get stochastic steady state
ee = randn(25000,5); stdev = M_.params(29:33);
ex_ = ee * diag(stdev); dr=oo_.dr; iorder=2; y0 = y_(:,1000);
y_=simult_(y0, dr, ex_, iorder);

No, all I am saying is in the simulation you performed, you will see a transition to the stochastic steady state. The question now is what you want to achieve. There are two types of IRFs you can use: Generalized IRFs or the ones at the stochastic steady state.