nazif wrote:dear
i'm trying to replicate the work of Quah and Vahey (1995) mainly based on blanchard quah decomposition to obtain underlying trend of inflation which is called also as core inflation in the literature. is it possible use this output gap code for this purpose?
Thanks.
Yes. That's also done using the historical decomposition. For their case, you want to take the demand shock, not the supply shock. Also, because the VAR is estimated in first differences (of log output and the inflation rate), it's necessary to integrate up the decomposition, which can be done most easily with
SET. The full example is at:
http://www.estima.com/forum/viewtopic.php?f=8&t=1156- Code: Select all
*
* Estimate a 12 lag VAR on the growth rate of output and the change in the
* inflation rate.
*
system(model=qvdmodel)
variables ygr1 chinf1
lags 1 to 12
det constant seasons{-10 to 0} trend apr1990
end(system)
estimate(noprint)
*
* Compute the BQ factorization. The first shock will be the supply shock (the one
* with a non-zero long-run response for output), the second will be the core
* inflation shock.
*
compute bqfactor=%bqfactor(%sigma,%varlagsums)
*
* Compute the historical decomposition of the first differenced data. The effect
* of the core inflation shocks will be in the 3rd row of the qvdhistory
* RECT[SERIES]. (That has the cumulated responses to the 2nd shock).
*
history(factor=bqfactor,model=qvdmodel,results=qvdhistory,add)
*
* What we have now are decompositions of the growth rate of output and the change
* in the inflation rate. We need to integrate those up. We first copy out the
* actual data needed for pre-sample values.
*
set coreinfl = inf1
set coreip = indprod
*
set coreinfl %regstart() %regend() = coreinfl{1}+qvdhistory(3,2)
set coreip %regstart() %regend() = coreip{1}+qvdhistory(3,1)
*
* The core inflation rate shown in the article is the 12th difference of the
* historical decomposition of the price index (in 100 x log() form). We have to
* integrate up one more time to get the price index.
*
set corepidx = lrpi
set corepidx %regstart() %regend() = corepidx{1}+coreinfl
set coreinfl %regstart() %regend() = corepidx-corepidx{12}
*
print %regstart() %regend() coreip coreinfl
graph(footer="Output") 2
# indprod
# coreip