weird impulse response
weird impulse response
I am working on BQ factorization for a bivariate model. The number of lags used in the VAR is 2 as suggested by the lag selection procedure. I am getting weird impulses responses. Can anyone explain why? The rats file and data are attached.
- Attachments
-
- thailand_data.xls
- data
- (29.5 KiB) Downloaded 691 times
-
- turkey.RPF
- rats file
- (2.69 KiB) Downloaded 856 times
Re: weird impulse response
You're overdoing the number of IRF steps given the amount of data (40 observations) you have. If you cut it off at 16, everything looks reasonable. You can also switch to CENTER=MEDIAN, which substantially reduces the effect of a few wild draws.
Re: weird impulse response
Thanks. But I did not choose the number of steps or the option of center. Where can I change them please?
Re: weird impulse response
On the two procedure calls: @BQDODRAWS sets the number of steps and @MCGRAPHIRF determines what gets graphed.
Re: weird impulse response
I am looking at the accumulated impulse responses to two shocks. However, although the impulse shapes look reasonable, what perplexes me is the vertical axis. The numbers look quite unnatural. Can anyone explain why or I am just overreacting.
- Attachments
-
- bosnia.xls
- (29.5 KiB) Downloaded 671 times
-
- turkey.RPF
- (2.75 KiB) Downloaded 851 times
Re: weird impulse response
By default, @BQDODRAWS accumulates the first series (the first series is supposed to be differences of an I(1) series, that's how you get the long-run zero restriction). From the description of @BQDODRAWS:
@BQDODRAWS generates a set of Monte Carlo draws for a 2-variable Blanchard-Quah structural VAR. This identifies the second shock as having no long-run effect on the first variable (which should be put into the VAR in differenced form). In the original BQ paper, this second shock would be the "demand" shock, while the unconstrained first shock is "supply".
The options are the same as for @MCVARDoDraws, except that the default for the ACCUMULATE option is ||1||; the responses of the first variable are undifferenced.
@BQDODRAWS generates a set of Monte Carlo draws for a 2-variable Blanchard-Quah structural VAR. This identifies the second shock as having no long-run effect on the first variable (which should be put into the VAR in differenced form). In the original BQ paper, this second shock would be the "demand" shock, while the unconstrained first shock is "supply".
The options are the same as for @MCVARDoDraws, except that the default for the ACCUMULATE option is ||1||; the responses of the first variable are undifferenced.
Re: weird impulse response
Even if the responses of first variable is undifferenced, the response of a logged variable cannot be in 100's
Re: weird impulse response
Update your MCGRAPHIRF procedure. (Help-Update Procedures menu item). The ACCUMULATE option was fixed a while back (not that you want to do it with this model anyway).
Re: weird impulse response
I realise that BQDoDraws also have a accum option which is set at ||1||. Do I the need to check the accum option in mcgraphirf and set it at ||1|| too?
Also if I want to report standardized responses (impulse responses of each variable divided by SE for that variable's residual), how do I achieve it?
Also if I want to report standardized responses (impulse responses of each variable divided by SE for that variable's residual), how do I achieve it?
Re: weird impulse response
No. That would accumulate the accumulated responses.indrani_5 wrote:I realise that BQDoDraws also have a accum option which is set at ||1||. Do I the need to check the accum option in mcgraphirf and set it at ||1||?
Use @MCPROCESSIRF rather than @MCGRAPHIRF and rescale the outputs before graphing.indrani_5 wrote: Also if I want to report standardized responses (impulse responses of each variable divided by SE for that variable's residual), how do I achieve it?
Re: weird impulse response
Is this the right way to write the mcprocessirf command?
@MCProcessIRF(model=bqmodel,center=median,percentile=||.16,.84||,lower=lower1,upper=upper,irf=irf1)
This is not producing any output though.
@MCProcessIRF(model=bqmodel,center=median,percentile=||.16,.84||,lower=lower1,upper=upper,irf=irf1)
This is not producing any output though.
Re: weird impulse response
That's the whole point. @MCGRAPHIRF does the graphs if you want standard graphs. You want to do something non-standard (and rescaling to standard errors is non-standard) so @MCPROCESSIRF does the work of calculating the percentiles for the impulse response draws, the upper and lower bounds and you have to adjust them (by rescaling) and graph them the way you want. IRF's are linear, so it doesn't matter whether you scale then compute percentiles or compute percentiles then scale.
Re: weird impulse response
No my question is how do i get the output from mcprocessirf so that I can scale them accordingly or are you suggesting I make changes in the source code?
Re: weird impulse response
You already have the "output"---it's in (as you've written it) lower1, upper and irf1 (upper=upper rather than upper1 may be a typo). IRF1(i,j) is the (center) response of series i to shock j. LOWER1(i,j) and UPPER(i,j) are the same for the lower and upper bounds. Apparently, you want to rescale IRF1(i,j) by something that's specific to variable i. That seems like a bad idea since it breaks the linear relationship between the shock and the responses. But if that's what you want, that's what you need to do---make sure you multiply (divide) all elements of IRF(i,j), LOWER(i,j) and UPPER(i,j) for a given i, j combination by the same number.
Re: weird impulse response
But when I typed
print irf1(1,2)
it did not produce anything in the output window. How can i create an output table so that I can see it and work on it further (rescaling)
print irf1(1,2)
it did not produce anything in the output window. How can i create an output table so that I can see it and work on it further (rescaling)