<p>If you pick pl=2 and pu = 4 and your data is daily, then indeed you filter out the trend that has frequency up to 4 days. So, your trend line is a sum of trigonometric functions with the aforementioned periodicity. The cycle comprises all the other remaining frequences.</p>

CC BY-SA 4.0
2020-04-01T08:42:13.413Z
2020-04-01T08:42:13.413Z
igxxxkind
<p>I'm trying to compare the results of Christiano Fitzgerald bandpass filter with wavelets. I'm familiar with wavelet decompositions in general, but I'm rather new with Christiano Fitzgerald (CF).</p>

<p>So far, I have understood that CF is able to decompose the series to trend and cycles and it is also able to decompose the signal in specific time frames as wavelets do. However wavelets operate with a pyramid algorithm where the first level decomposes the signal to mother and father and it finds the 2-4 frequency and the trend. Then, it picks these results and it decomposes them again to find 4-8 and so on.</p>

<p>The documentation of mFilter in R states the following for CF:</p>

<blockquote>
  <p>Arguments:</p>
  
  <ol>
  <li><strong>type</strong>: the filter type, "<em>asymmetric</em>", asymmetric Christiano-Fitzgerald
  filter (default), "<em>symmetric</em>", symmetric Christiano-Fitzgerald
  filter "<em>fixed</em>", fixed length Christiano Fitzgerald filter,
  "<em>baxter-king</em>", Baxter-King fixed length symmetric filter,
  "<em>trigonometric</em>", trigonometric regression filter.</li>
  <li><strong>pl</strong>: minimum period of oscillation of desired component $(pl&lt;=2)$.</li>
  <li><strong>pu</strong>: maximum period of oscillation of desired component $(2&lt;=pl&lt;pu&lt;infinity)$.</li>
  <li><strong>root</strong>: logical, <em>FALSE</em> if no unit root in time series (default), TRUE if unit root in time series. The root option has no
  effect if
  type is "baxter-king" or "trigonometric".</li>
  <li><strong>drift</strong>: logical, <em>FALSE</em> if no drift in time series (default), TRUE if drift in time series.</li>
  <li><strong>nfix</strong>: sets fixed lead/lag length or order of the filter with "baxter-king" and "fixed". The nfix option sets the order of the
  filter by $2*nfix+1$. The default is $nfix=1$.</li>
  <li><strong>theta</strong>: moving average coefficients for time series model: $x(t) = mu + root*x(t-1) + theta(1)*e(t) + theta(2)*e(t-1) + . . .$ ,
  where $e(t)$ is a white noise.</li>
  </ol>
</blockquote>

<p>Are the arguments <strong><em>pl</em></strong> and <strong><em>pu</em></strong> responsible for the level of decomposition? For example, if I pick $pl = 2$ and $pu = 4$, it will go for 2-4 days/weeks etc and if I go for $pl = 32$ and $pu = 64$ it will decomposes for 32-64 days/weeks/months etc or am I missing something?</p>

<p>Thank you in advance</p>

<econometrics><statistics><applied-econometrics>
Christiano Fitzgerald filtering process
Commissar Vasili Karlovic
# Christiano Fitzgerald filtering process

(Asked by: username_0 on 2017-03-21)

I'm trying to compare the results of Christiano Fitzgerald bandpass filter with wavelets. I'm familiar with wavelet decompositions in general, but I'm rather new with Christiano Fitzgerald (CF).

So far, I have understood that CF is able to decompose the series to trend and cycles and it is also able to decompose the signal in specific time frames as wavelets do. However wavelets operate with a pyramid algorithm where the first level decomposes the signal to mother and father and it finds the 2-4 frequency and the trend. Then, it picks these results and it decomposes them again to find 4-8 and so on.

The documentation of mFilter in R states the following for CF:

> Arguments:
>
> 1. **type**: the filter type, "*asymmetric*", asymmetric Christiano-Fitzgerald
>    filter (default), "*symmetric*", symmetric Christiano-Fitzgerald
>    filter "*fixed*", fixed length Christiano Fitzgerald filter,
>    "*baxter-king*", Baxter-King fixed length symmetric filter,
>    "*trigonometric*", trigonometric regression filter.
> 2. **pl**: minimum period of oscillation of desired component $(pl<=2)$.
> 3. **pu**: maximum period of oscillation of desired component $(2<=pl- **root**: logical, *FALSE* if no unit root in time series (default), TRUE if unit root in time series. The root option has no
>      effect if
>      type is "baxter-king" or "trigonometric".
>    - **drift**: logical, *FALSE* if no drift in time series (default), TRUE if drift in time series.
>    - **nfix**: sets fixed lead/lag length or order of the filter with "baxter-king" and "fixed". The nfix option sets the order of the
>      filter by $2\*nfix+1$. The default is $nfix=1$.
>    - **theta**: moving average coefficients for time series model: $x(t) = mu + root\*x(t-1) + theta(1)\*e(t) + theta(2)\*e(t-1) + . . .$ ,
>      where $e(t)$ is a white noise.

Are the arguments ***pl*** and ***pu*** responsible for the level of decomposition? For example, if I pick $pl = 2$ and $pu = 4$, it will go for 2-4 days/weeks etc and if I go for $pl = 32$ and $pu = 64$ it will decomposes for 32-64 days/weeks/months etc or am I missing something?

Thank you in advance

**Tags:** econometrics, statistics, applied-econometrics

---

## 1 answers

### Answer by username_1 on 2020-04-01. Score: 2 | Accepted answer

If you pick pl=2 and pu = 4 and your data is daily, then indeed you filter out the trend that has frequency up to 4 days. So, your trend line is a sum of trigonometric functions with the aforementioned periodicity. The cycle comprises all the other remaining frequences.


---

