The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Working Paper Available: The econometric methodology and mathematical proofs underlying this package are distributed via SSRN: Robust Real-Time Macroeconomic Trend Extraction: A Gradient Boosting Approach.
MacroFilters is a unified, high-performance library for extracting trend and cycle components from macroeconomic time series. It combines classical filters (Hodrick-Prescott, Hamilton, Boosted HP) with its flagship algorithm, the MacroBoost Hybrid (MBH) ā a gradient-boosting filter with Huber loss that is immune to structural shocks such as COVID-19, financial crises, and wars.
Why MacroFilters instead of mFilter or
neverhpfilter?
mbh_filter() replaces
\(L_2\) squared-error loss with Huber
loss, ensuring extreme exogenous shocks never distort the structural
trend.Matrix), scaling as O(n)
instead of the dense O(n³) used by legacy packages.numeric vector, a ts, an xts, or
a zoo object ā the output always matches the input class
seamlessly.During extreme black swan events, traditional filters anchored in \(L_2\) loss mechanically deform the long-run structural trend to absorb massive, transitory outliers.
As demonstrated with Real US GDP during the 2020 Q2 COVID-19 collapse, the standard HP filter bends towards the shock. The MBH filter isolates the exogenous shock entirely within the cyclical component, preserving absolute trend integrity in real-time.

Furthermore, ex-ante spectral alignment ensures the MBH filter perfectly matches the baseline cyclical volatility of the industry-standard HP filter during normal conditions, unlike the excessively volatile Hamilton filter.

(Plots generated using real-time vintage data from the Federal Reserve Economic Data - FRED).
# install.packages("devtools")
devtools::install_github("michal0091/MacroFilters")| Function | Method | Key Advantage |
|---|---|---|
hp_filter() |
Hodrick-Prescott (1997) | Sparse O(n) implementation |
hamilton_filter() |
Hamilton (2018) | OLS regression, no spurious cycles |
bhp_filter() |
Boosted HP ā Phillips & Shi (2021) | Iterative fitting with BIC/ADF stopping |
mbh_filter() |
MacroBoost Hybrid | Robust to outliers via Huber loss |
All functions return a macrofilter S3 object.
library(MacroFilters)
# Fast, agnostic filtering on any time-series object
hp_result <- hp_filter(us_gdp_xts)
mbh_result <- mbh_filter(us_gdp_xts)
# Access components directly
mbh_result$trend
mbh_result$cycleSee vignette("introduction", package = "MacroFilters")
for a full walkthrough covering all four filters and the S3 print/meta
interface.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.