I'm estimating a SVAR with both government spending and tax rates, as well as GDP, similar to Blanchard and Perotti (2002). I'm using the 'irf create' function to create IRFs for a shock to government spending.
Here is an excerpt of my code:
Code:
matrix A = (1, 0, 0, 0, 0.5 \ 0, 1, 0, 0, 0 \ ., ., 1, 0, 0\ ., ., ., 1, 0 \., ., ., ., 1 ) matrix B = (1, 0, 0, 0, 0 \ ., 1, 0, 0, 0 \ 0, 0, 1, 0, 0 \ 0, 0, 0, 1, 0 \ 0, 0, 0, 0, 1 ) svar `gov' `tax' `gdp' `cpi' `nx', lags(1/4) exog(q1 q2 q3) aeq(A) beq(B) matlist e(A) matlist e(B) irf create order1, step(`j') set(svarirf,replace) irf graph sirf, irf(order1) impulse(`gov') response(`tax' `gdp' `cpi' `nx') byopts(rescale)
Given the way I have setup the SVAR, tax rates are allowed to respond contemporaneously to changes in government spending and estimated coefficient is indeed different from zero.
Is it possible to plot an IRF to a government spending shock that ignores the effect on tax rates? My approach was to manually modify the estimated matrix 'B' and set the corresponding coefficient equal to zero. I check that the corresponding coefficient is indeed 0 after I have changed it to zero. But when I plot the IRF afterwards, I still obtain the same response, with tax rates contemporaneously changing to a government spending shock. See the code here:
Code:
capture program drop alterations program define alterations, eclass matrix newb = e(b) matrix newb[1,27] = 0 ereturn repost b = newb end alterations irf create notax, step(10) set(notaxirf,replace) irf graph sirf, irf(notax) impulse(`gov') response(`tax' `gdp' `cpi' `nx') byopts(rescale)
0 Response to IRF in a SVAR with manually modified B matrix
Post a Comment