How one SD shock can be converted into percentage shock

Questions and discussions on Vector Autoregressions

How one SD shock can be converted into percentage shock

Postby bhupal » Thu Jan 15, 2009 5:24 am

Hi,
I have computed impulse response functions from a SAVR model. The impulse responses are to one standard deviation shock to error terms. The variables: IIP, Oil price, CPI, exchange rate are in log levels. Interest rate are not in log. All variables are in level.

Ques 1: I give one SD shock to LogIIP. How can I compute one SD shock to LogIIP is equivalent to how much % change in logIIP? I mean how can I compute that one SD shock to log IIP is 1%/2%/5% shock to LogIIP?

Second, regarding the the reposes of rest of the variables. How the response of log CPI can be interpreted in percentage terms in response of one SD shock to logIIP. As of now I get impulse response of log CPI of 0.002 in the first 4 quarters in response to a one SD shock to logIIP. How can this impulse be interpreted in terms of percentage variation in Log CPI?

I would be highly grateful for clarifying on the above issues.

Best,
Bhupal
bhupal
 
Posts: 5
Joined: Mon Jan 05, 2009 3:18 pm

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

Postby TomDoan » Thu Jan 15, 2009 10:30 am

The impulse responses in a VAR are linear in the sizes of the shocks. The one SD shocks are used to put the whole set of responses into a proper context. But if you're mainly interested in a specific shock, you can re-scale it however you want.

Code: Select all
IMPULSE(MODEL=your model,SHOCKS=%UNITV(model size,shock variable),STEPS=number of steps,PRINT)


will do unit shocks to "shock variable". If the shock variable (X) and the response variable of interest (Y) are put into the VAR in logs, you would interpret a response of 1.5 as 1.5% in the original variable; that is, a 1% shock in X produces 1.5% response in Y. Note that these are responses in the original variables, not the logs. In your description, you seem to be confusing percentage change in X with percentage change in log X.
TomDoan
 
Posts: 2720
Joined: Wed Nov 01, 2006 5:36 pm

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

Postby bhupal » Mon Jan 19, 2009 10:57 am

Hi Tom,
Thanks so much for your reply.
I may sound foolish but Just to conrifm again. When both x and y are in log levels, One SD shock to x (variable shocked) and impulses of the variable of interest y would be interpreted as: 1% change in x causing how much % change in y.

Thanks in advance.
Bhupal
bhupal
 
Posts: 5
Joined: Mon Jan 05, 2009 3:18 pm

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

Postby TomDoan » Mon Jan 19, 2009 2:12 pm

bhupal wrote:Hi Tom,
Thanks so much for your reply.
I may sound foolish but Just to conrifm again. When both x and y are in log levels, One SD shock to x (variable shocked) and impulses of the variable of interest y would be interpreted as: 1% change in x causing how much % change in y.

Thanks in advance.
Bhupal


No, because a one SD shock to x will almost always have a value different from a standardized 1 (or .01). If you use SD shocks, then you would have to rescale the responses as well to get the %change to %change interpretation. That is, if the SD is .04 and a response is .09, you can interpret that as a 1% shock in x producing a 2.25% (=.09/.04) response in y.
TomDoan
 
Posts: 2720
Joined: Wed Nov 01, 2006 5:36 pm

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

Postby bhupal » Tue Jan 20, 2009 5:50 am

Thanks so much for clarifying on this.
Best,
Bhupal
bhupal
 
Posts: 5
Joined: Mon Jan 05, 2009 3:18 pm

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

Postby N. BEN CHEIKH » Mon May 04, 2009 10:25 am

Hi,
Can you tell us how to use
****************************************************************************************************************
IMPULSE(MODEL=your model,SHOCKS=%UNITV(model size,shock variable),STEPS=number of steps,PRINT)
****************************************************************************************************************
in the montevar.src, in order to get SD shock converted into one percentage.
Thank you very much
N. BEN CHEIKH
 
Posts: 5
Joined: Thu Jun 19, 2008 8:40 am

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

Postby TomDoan » Sat May 09, 2009 2:15 pm

Replace the IMPULSE instruction with

Code: Select all
   impulse(noprint,model=model,factor=%identity(nvar),results=impulses,steps=steps)


Everything else will be the same. (This will do unit shocks to all variables).
TomDoan
 
Posts: 2720
Joined: Wed Nov 01, 2006 5:36 pm

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

Postby TWG » Mon Aug 02, 2010 3:16 pm

Tom, one question. If I use factor=%identity(nvar) inside a bootstrap o MH, I have the impression that the impulse response I get from the Choleski, not the one that come from cvmodel, is it?. Is there other way to standardize all shocks to unit?.
TWG
 
Posts: 12
Joined: Tue Jun 29, 2010 1:19 pm

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

Postby TomDoan » Mon Aug 02, 2010 3:38 pm

factor=%identity(nvar) means unit shocks to each variable's one-step ahead forecast, without regard to the covariance matrix or any structural model. If you have any form of structural model (the Choleski being a special case with a recursive structure), you typically can come up with rescaled shocks which have unit impacts on particular variables. If F is a factor of sigma, then the impact of shock j on variable i is F(i,j), so a shock with the same shape but scaled to make a unit impact on i is %xcol(F,j)/F(i,j). Since the scale of the response is part of the data evidence (through the observed sigma), it's not clear that that's a good idea, but if you think that the shape is what really matters, that's how you would go about standardizing the responses.
TomDoan
 
Posts: 2720
Joined: Wed Nov 01, 2006 5:36 pm

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

Postby Shenelle » Thu Sep 09, 2010 7:08 am

In the following code,
would impulse responses be interpreted as std deviations or percentages?

* MONTESUR.RPF
* Uses Gibbs sampling to analyze the impulse response functions for a
* near-VAR.
*
compute lags=2 ;*Number of lags
compute steps=20 ;*Number of response steps
compute nburn =5000 ;*Burn-in draws
compute ndraws=25000 ;*Keeper draws
*

compute nvar=%modelsize(shocks)

@SURGibbsSetup shocks
sur(model=shocks)
compute ntotal=%nreg
compute bdraw=%beta
compute wishdof=%nobs

declare vect[rect] %%responses(ndraws)
*
infobox(action=define,progress,lower=-nburn,upper=ndraws) $
"Gibbs Sampling"
do draw=-nburn,ndraws

compute covmat=SURGibbsSigma(bdraw)

*
compute hdraw=%ranwishartf(%decomp(inv(covmat)),wishdof)

@SURGibbsDataInfo hdraw hdata hbdata

compute hpost=hdata
compute vpost=inv(hpost)
compute bpost=vpost*hbdata
compute bdraw=bpost+%ranmvnormal(%decomp(vpost))
infobox(current=draw)
if draw<=0
next

compute %modelsetcoeffs(shocks,bdraw)
impulse(noprint,model=shocks,factor=%decomp(hdraw),results=impulses,steps=steps)

dim %%responses(draw)(nvar*nvar,steps)
ewise %%responses(draw)(i,j)=ix=%vec(%xt(impulses,j)),ix(i)
end do draw
infobox(action=remove)
source mcgraphirf
@MCGraphIRF(model=shocks,center=median,page=one,percentile=||.05,.95||,HEADER="IMPULSE RESPONSES - SHARE PRICES INCLUDED")
Shenelle
 
Posts: 6
Joined: Mon Jul 19, 2010 4:12 pm

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

Postby TomDoan » Thu Sep 09, 2010 9:13 am

The shocks are one SD Choleski factor shocks. The responses are in the units of the dependent variables.
TomDoan
 
Posts: 2720
Joined: Wed Nov 01, 2006 5:36 pm

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

Postby guillaume » Fri Jan 07, 2011 9:38 am

Hi
Is it possible to impulse directly a negative shock withe IMPULSE instruction. I would like to simulate an expansionnary monetary policy instead of a restrictive MP?
Thanks
guillaume
 
Posts: 7
Joined: Wed Jun 17, 2009 9:21 am

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

Postby TomDoan » Fri Jan 07, 2011 9:47 am

guillaume wrote:Hi
Is it possible to impulse directly a negative shock withe IMPULSE instruction. I would like to simulate an expansionnary monetary policy instead of a restrictive MP?
Thanks


Of course. Either the SHOCKS option or the FACTOR option will take elements with any sign. After all, if FF'=sigma, then (-F)(-F)'=sigma as well, plus, you can flip signs of any combination of columns in a factor matrix and still have a factor.
TomDoan
 
Posts: 2720
Joined: Wed Nov 01, 2006 5:36 pm

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

Postby ivory4 » Sun Dec 11, 2011 3:44 pm

real exchange rate should be kept in log levels or log difference?
ivory4
 
Posts: 149
Joined: Mon Aug 24, 2009 12:16 pm

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

Postby TomDoan » Mon Dec 12, 2011 12:11 pm

ivory4 wrote:real exchange rate should be kept in log levels or log difference?


Usually log levels.
TomDoan
 
Posts: 2720
Joined: Wed Nov 01, 2006 5:36 pm


Return to VARs (Vector Autoregression Models)

Who is online

Users browsing this forum: Google [Bot] and 1 guest