{smcl} {* 23oct2004}{...} {hline} help for {hi:butterworth} SSC distribution 03 July 2006 {hline} {title:Apply Butterworth square-wave highpass filter to time series} {p 8 17}{cmd:butterworth} {it:varlist} [{cmd:if} {it:exp}] [{cmd:in} {it:range}] {cmd:,} {cmdab:freq(}{it:#}{cmd:)} {cmdab:stub(}{it:abbrev}{cmd:)} [ {cmdab:order(}{it:#}{cmd:)} ] {p 4 4}You must {cmd:tsset} your data before using {cmd:butterworth}; see help {cmd: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 {cmd:by} prefix. {p_end} {p 4 4}{cmd:varlist} may contain time-series operators; see help {cmd:varlist}. {p_end} {p 4 4}{cmd:butterworth} filters one or more time series using the Butterworth square-wave highpass filter described in Pollock (2000). The {cmd:freq()} argument specifies the minimum period of oscillation of the desired component of the time series, where 2 < {it:freq} < infinity. The {cmd:order()} of the filter may also be chosen; if not specified, it defaults to 2. {p_end} {title:Options} {p 4 8}{cmd:freq(}{it:#}{cmd:)} specifies the minimum period of oscillation, in periods per cycle, to be retained in the time series, and must be given. It must be greater than 2 (the reciprocal of the Nyquist frequency). Higher-frequency components of the series will be returned in the filtered series. {p 4 8}{cmd:stub(}{it:abbrev}{cmd:)}, which must be provided, specifies the "stub" from which new variable names will be created. Variables created by {cmd:stub} must be new variables. If the {it:varlist} contains time-series operators, the dots in their names are replaced by underscores so that the resulting new variables' names are legal. {p 4 8}{cmd:order(}{it:#}{cmd:)} specifies the order of the filter. If not specified, it defaults to 2. {title:Examples} {p 4 8}{stata "webuse lutkepohl,clear" :. webuse lutkepohl,clear}{p_end} {p 4 8}{stata "butterworth investment, freq(6) stub(F)" :. butterworth investment, freq(6) phi stub(F)}{p_end} {p 4 8}{stata "butterworth investment income consumption, freq(12) stub(filt)" :. butterworth investment income consumption, freq(12) stub(filt)}{p_end} {p 4 8}{stata "butterworth D.investment, freq(4) order(3) stub(fl)" :. butterworth D.investment, freq(4) order(3) stub(fl)}{p_end} {p 4 8}{stata "use http://fmwww.bc.edu/ec-p/data/hayashi/sheston91.dta,clear":. use http://fmwww.bc.edu/ec-p/data/hayashi/sheston91.dta,clear}{p_end} {p 4 8}{stata "drop if country>4":. drop if country>4}{p_end} {p 4 8}{stata "tsset":. tsset}{p_end} {p 4 8}{stata "by country: butterworth rgdppc, freq(3) stub(SBY)":. by country: butterworth rgdppc, freq(3) stub(SBY)}{p_end} {title:Authors} {p 4 4}Christopher F. Baum, Boston College, USA{break} baum@bc.edu {p 4 4}Martha Lopez, Boston College, USA{break} lopezmo@bc.edu {title:References} {p}D.S.G. Pollock, Trend estimation and de-trending via rational square-wave filters, Journal of Econometrics, 2000, 99, 317-334.{p_end} {p}Pawel Kowal (2005). MATLAB implementation of commonly used filters, http://ideas.repec.org/c/wpa/wuwppr/0507001.html{p_end} {title:Acknowledgements} {p 4 4}The Mata code of this routine was translated from MATLAB code made available by Pawel Kowal (2005). {title:Also see} {p 4 13}On-line: {help hprescott} (if installed), {help bking} (if installed), {help cfitzrw} (if installed), {help tsset}