Hi,

I have a basic question regarding the simulation of a model with stoch_simul.

When I use the command stoch_simul(periods = 400), I simulate the model for 400 periods.

But what does it exactly mean to simulate the model? I suppose that 400 times a different shock (drawn from a normal distribution) hits the model and I observe what happens to the endogenous variables.

For example, after stoch_simul(periods = 400), I get a simulated series for inflation. How do I interpret this series? The first element gives me the reaction of inflation to the first shock, the second element the reaction of inflation to the second shock? But is it then always the reaction of inflation on impact to the respective shock?

So, the first element of the simulated series for inflation gives me the reaction of inflation in the first period (“on impact”) when the first shock hits the model. The second element gives me the reaction of inflation in the first period (“on impact”) when the second shock hits the model.

Is this correct? Would much appreciate clarification in simple terms

At each point time a new shock hits the system and causes an IRF. The simulated series at each point in time is the sum of the IRFs resulting from all of the past shocks.

Many thanks for your reply jpfeifer! However, Im not sure I can follow.

Let’s look at a simple example. Assume in Period 1 an iid shock of size “3” hits and in period 2 an iid shock of size “4”. This causes an IRF for inflation in period 1 with follows “4, 3, 2 ,1, 0” and for period 2 “8, 6, 4, 2, 0”. How would the simulated series for inflation look like?

Many thanks!

So the two IRFs for common start data 1 will be:

[4, 3, 2 ,1, 0, 0]

and

[0, 8, 6, 4, 2, 0]

Their sum is

[4,11, 8, 5, 2, 0]

Note that this only works this way for `order=1`

Thanks again jpfeifer! That helps but also brings about a follow up question.

Let’s get even more concrete. I want to simulate my model. However, I have a non-linearity (zlb) which is why I cannot use “stoch_simul” to get simulates series. My workaround is as follows: I create a loop which loops over my own shock series introduced as a parameter (name is “DIS”).

However, I am not sure if this loop is correct. I am interested in the simulated series for “rytm”. I am always just taking the second element of the respective irf for “rytm”. This is different from what you were suggesting in your last post. How do I do it correctly (would I have to sum up the irfs?)? Please see the attached files.

test.mod (1.8 KB)

loop.m (1.5 KB)

test_parameterfile.m (885 Bytes)