help for bking

Apply Baxter-King band pass filter to time series

bking varlist [if exp] [in range] , plo(#) phi(#) stub(abbrev) [ k(#) ]

You must tsset your data before using bking; see help tsset. If a panel calendar is in effect, the filter can be applied if a single panel is specified using if or in qualifiers, or with the by prefix.

varlist may contain time-series operators; see help varlist.

bking filters one or more time series using the Baxter-King symmetric band-pass filter described in Baxter and King (1995). The plo() and phi() arguments specify the minimum period of oscillation and maximum period of oscillation of the desired component of the time series, where 2 < plo < phi < infinity. The "Burns-Mitchell" settings for this filter, applied to quarterly data, are 6 and 32 quarters, with k=12.

Options plo(#) and phi(#) specify the minimum and maximum period of oscillation to be retained in the time series, and must be given. For quarterly data, common values are 6 and 32, which preserve the components of the data with period between 1.5 and 8.0 years, with k=12 (which loses three years' data from each end of the filtered series). For monthly data, common values are 18 and 96, which preserves the component of the data with period between 1.5 and 8.0 years. For annual data, common values are 2 and 8, with k=3.

stub(abbrev), which must be provided, specifies the "stub" from which new variable names will be created. Variables created by stub must be new variables. If the varlist contains time-series operators, the dots in their names are replaced by underscores so that the resulting new variables' names are legal. The first and last k observations of the selected range are lost by bking, and those observations are set to missing values in the filtered series.

k(#) specifies the lead-lag length of the filter. This many observations will be lost at each end of the filtered series. If not specified, k is set to 12 (Baxter and King's recommended value for quarterly data).


. webuse lutkepohl,clear

. bking investment, plo(6) phi(32) stub(F)

. bking investment income consumption, plo(6) phi(32) k(8) stub(filt)

. bking D.investment, plo(4) phi(12) stub(fl)

. use http://fmwww.bc.edu/ec-p/data/hayashi/sheston91.dta,clear

. drop if country>4

. tsset

. by country:bking rgdppc, plo(2) phi(8) stub(SBY) k(3)


Christopher F. Baum, Boston College, USA baum@bc.edu

Martha Lopez, Boston College, USA lopezmo@bc.edu


Marianne Baxter and Robert G. King, Measuring Business Cycles: Approximate Band-Pass Filters for Economic Time Series. Review of Economics and Statistics, 1999, 81(4), 575-593.

Lawrence J. Christiano and Terry J. Fitzgerald, The Band Pass Filter, International Economic Review, 2003, 44(2), 435-465. Pawel Kowal (2005). MATLAB implementation of commonly used filters, http://ideas.repec.org/c/wpa/wuwppr/0507001.html


The Mata code of this routine was translated from MATLAB code made available by Pawel Kowal (2005).

Also see

On-line: hprescott (if installed), cfitzrw (if installed), tsset