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.

MacroFilters

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?

The End-Point Problem: Solved

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).

Installation

# install.packages("devtools")
devtools::install_github("michal0091/MacroFilters")

Quick Start Arsenal

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$cycle

Further Reading

See 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.