Mshocks block

Hello everybody,

I’m currently designing a model with 6 different stochastic shocks. However, I am only interested in getting the IRFs for one particular shock at a time. From what I read on the user’s guide, I’m not sure it will be the case if i use the basic ‘shocks’ block (except if i specify zero variance for the shocks I’m not interested in). In addition, I would like to obtain my IRFs only in terms of percentage deviation from steady-state (i.e., following a, say, 1% positive deviation from steady-state of some exogenous variable, obtaining the IRF’s of the endogenous variables, also in percentage deviation). The guide seems to say that ‘mshocks’ can do this job: for example, using 1.01 as a shock value for an exogenous variable would implment a positive 1% shock. However, the guide does not say exactly how an ‘mshocks’ block should be formulated. Maybe it’s merely replacing ‘shocks’ by ‘mshocks’, but I’m not quite sure about that…

So my questions are:
1)Is ‘mshocks’ the best way to obtain the irfs for one particular shock only?
2) How should we formulate an ‘mshocks’ block?
3) Does it gives all IRFs in terms of percentage deviation?

Thanks for any help!

The mshocks block is not what you want. It is to be used only for perfect foresight variables.

Also note that the IRFs will always be given one shock at a time, so no worry on that side. But indeed they will display the deviation in levels, not in percentage. To get percentage deviation, you have two options: either create new variables which are the logs of your variables of interest (a deviation in level of the log variable corresponds to a deviation in percentage to the original variable); alternatively, you can exploit the values in oo_.irfs and recreate you own graphs after some calculation.