Back to models
Transformer

BKFilter

Filter a times series using the Baxter-King filter.

Quickstart

python
from sktime.transformations.bkfilter import BKFilter

estimator = BKFilter(low=6, high=32, K=12)

Parameters(3)

lowfloat
Minimum period for oscillations. Baxter and King recommend a value of 6 for quarterly data and 1.5 for annual data.
highfloat
Maximum period for oscillations. BK recommend 32 for U.S. business cycle quarterly data and 8 for annual data.
Kint
Lead-lag length of the filter. Baxter and King suggest a truncation length of 12 for quarterly data and 3 for annual data.

Examples

>>> from sktime.transformations.bkfilter import BKFilter
>>> import pandas as pd
>>> import statsmodels.api as sm
>>> dta = sm. datasets. macrodata. load_pandas (). data
>>> index = pd. date_range (start = '1959Q1', end = '2009Q4', freq = 'Q')
>>> dta. set_index (index, inplace = True)
>>> bk = BKFilter (6, 24, 12)
>>> cycles = bk. fit_transform (X = dta [['realinv' ]])

References

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