# Hodrick Prescott Filter

### My most successful product

I believe my work speaks for itself. Browse my most successful project below and enjoy my handmade work.

It began in 2003 when I wrote my diploma thesis in monetary macroeconomics I came the first time in closer contact with a mathematical tool used in macroeconomics, especially in real business cycle theory, to remove the cyclical component of a time series from raw data. Immediately I understood the popularity of the filter among researchers. I am talking about the Hodrick Prescott filter, introduced by Hodrick and Prescott (1980).

During this time, like many others, I used a Matlab code to compute the Hodrick-Prescott filter.  But there were two things that bothered me. First It seemed to me unfortunate that a non-free license of Matlab must be installed on the PC. 15 years ago, around the year 2014, Octave and R as an alternative were still at a fledgling stage and were hard to use. The most alluring reason was the fact that I wanted to evaluate the data directly within Excel. I’ve been hunting around the internet for an Excel Version and found what I was looking for. Unfortunately, the algorithm worked slow that I decided to write my own Excel Add-In.  I studied the Hodrick-Prescott Filter and found a simple solution by taking full account on solving pentadiagonal linear systems. I used a fast algorithm to write a simple VBA Code. [web:reg] HP Filter Add-In was born. The Add-In has become increasingly popular amongst researcher, students and professionals since 2014.

In the last few years I‘ve been asked to program an one-sided Hodrick-Prescott Filter and I wrote an Add-In in C. The Excel Add-In has been extended by the one-sided HP-Filter.

Kurt Annen

## The equation

Let’s suppose that the original time series $(y_t)_{t=0}^T$  is composed of a trend component$\tau_t$ and and a cyclical component $c_t$. That is, $$y_t = \tau_t + c_t$$ The HP-Filter isolates the cycle component by following minimization problem $$\min_{\tau_1,\dots,\tau_T}\sum_{t=1}^{T} \left ( y_t-\tau_t\right )^2 +\lambda\sum_{t=2}^{T-1}\left [\left ( \tau_{t+1}-\tau_t \right )\left ( \tau_t-\tau_{t-1} \right ) \right ]^2$$ where $\lambda$ is a positive smoothing parameter that penalizes variability in the trend. The unique solution to the minimization problem is $$\widehat{\tau}=\left ( I_T+\lambda F \right )^{-1}y$$ where $I_T$ is an $T\times T$ identity matrix and $F$ is the pentadiagonal $T\times T$ matrix. $$F=\begin{pmatrix}1& -2& 1& & & & & & &\\ -2& 5& -4& 1& & & & & &\\ 1& -4& 6& -4& 1& & & & &\\ & 1& -4& 6& -4& 1& & &\\& & \ddots& \ddots& \ddots& \ddots& \ddots& & \\& & & 1& -4& 6& -4& 1& &\\ & & & & 1& -4& 6& -4& 1&\\ & & & & & 1& -4& 5& -2&\\ & & & & & & 1&-2& 1&\end{pmatrix}$$.

The value of $\lambda$ depends on the frequency of the data. In the literature the following values are suggested.

 100 yearly data 1600 quarterly data 14400 monthly data

## Donation

If you like my Add-Ins, feel free to support me with a PayPal donation with an amount of your choice.