How one SD shock can be converted into percentage shock

Questions and discussions on Vector Autoregressions
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: How one SD shock can be converted into percentage shock

Unread post by TomDoan »

That was explained earlier in the thread. See http://www.estima.com/forum/viewtopic.php?p=2613#p2613.
viking76
Posts: 13
Joined: Wed Jun 12, 2013 5:40 am

Re: How one SD shock can be converted into percentage shock

Unread post by viking76 »

Dear Tom,

I am using the @SURGibbsSetup. I would like to compare the IRFs obtained by running different models (in terms of the size of the response). How do I interpret the generated IRFs? In the @SURGibbsSetup, the command for the IRFs is the following:

impulse(noprint,model=varmodel,factor=%decomp(inv(hdraw)),results=impulses,steps=steps)

Does it imply that I got the IRFs as the response of the variables to 1SD shock? If this is the case, I guess I cannot compare the IRFs obtained via different model specifications. How can I modify the above code to get comparable IRFs? Many thanks.

Best regards,
Adrian
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: How one SD shock can be converted into percentage shock

Unread post by TomDoan »

That does Cholesky shocks. Those change from simulation to simulation within a model (around the factor for the model covariance matrix) and also change from model to model since the modal covariance matrix would change with the model. That may or may not be what you want. If you standardize to unit impact shocks, and one model is noisier than another, that won't be obvious from looking at your output. On the other hand, if one model is noisier than another, and you don't standardize, the responses may look more substantial for the noisier model.
viking76
Posts: 13
Joined: Wed Jun 12, 2013 5:40 am

Re: How one SD shock can be converted into percentage shock

Unread post by viking76 »

Thanks Tom,

what I would like to do is simply to compare the magnitude of the responses obtained using different model specifications. What do you suggest for this? Many thanks.

Adrian
viking76
Posts: 13
Joined: Wed Jun 12, 2013 5:40 am

Re: How one SD shock can be converted into percentage shock

Unread post by viking76 »

How can I change the code to standardize to a unit impact shock and have the responses in % changes? Thanks.

Adrian
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: How one SD shock can be converted into percentage shock

Unread post by TomDoan »

To get unit shocks, change the option on IMPULSE to factor=%identity(%nvar). The responses would be interpreted as percentages if the variables are in logs.
viking76
Posts: 13
Joined: Wed Jun 12, 2013 5:40 am

Re: How one SD shock can be converted into percentage shock

Unread post by viking76 »

Thanks Tom, and how can I adjust the IRFs in order to have the original cholesky identification? I couldn't understand how to practically implement this from the previous threads. Thanks.

Adrian
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: How one SD shock can be converted into percentage shock

Unread post by TomDoan »

I'm not sure what you mean. The original code does Cholesky factors.
viking76
Posts: 13
Joined: Wed Jun 12, 2013 5:40 am

Re: How one SD shock can be converted into percentage shock

Unread post by viking76 »

I mean that if I plug this command: factor=%identity(%nvar) in my impulse command of the @SURGibbsSetup, I obtain unit shocks IRFs, but I lose the cholesky structure. All the other variables do not react contemporaneously to the shocks.

Adrian S.
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: How one SD shock can be converted into percentage shock

Unread post by TomDoan »

You need to be much clearer about what you want. Each pass through the loop produces a draw for the covariance matrix. That will be different from draw to draw and from model to model. What do you want to do with that?

If you're looking to keep the Cholesky "shape" but standardize to unit impacts, you can do that to any "factor" matrix with:

compute shocks=%ddivide(factor,%xdiag(factor))

which divides each column of FACTOR by its diagonal element.
Post Reply