Introduction to corbouli

Christos Adam

Corbae-Ouliaris Frequency Domain Filtering

Corbae and Ouliaris (2006) Frequency Domain Filter is used for extracting cycles from either both on stationary and non-stationary time series. This is one approximation of the ideal band pass filter of the series.

The minimum and the maximum periods of oscillation should be determined when using this method, so as to irrelevant to filtering frequencies are removed. As an example from Shaw (1947), a business cycle usually has a lower period of 1.5 years and a higher period of 8 years. This information can be used while for filtering as expressed from the following Table 1.

 Sample Frequency Lower Higher
 Month 18 96
 Quarter 6 32
 Year 2 8

Table 1: Lower and higher periods of oscillation.

The same table in fragments of \(\pi\) can be transformed into the Table 2 using the \(lower\ frequency = 2 / higher\ period\) and \(higher\ frequency = 2 / lower\ period\). For instance, for quarterly sampled time series, we have \(lower\ frequency = 2 / 32 = 0.0625\) and \(higher\ frequency = 2 / 6 = 0.3333\).

 Sample Frequency  Lower Higher
 Month 0.0208 0.1111
 Quarter 0.0625 0.3333
 Year 0.25 1

Table 2: Low and high frequency in fragments of \(\pi\).

The longer the series, the more the long run frequency is expressed by a lower frequency as fragment of \(\pi\) equal to 0. Moreover, the output gap can be expressed using higher frequency as fragment of \(\pi\) equal to 1 (Ouliaris, 2009).

Example

For this example, the quarterly US GDP in billions of chained 2017 dollars (Seasonally adjusted) will be used. For

# Import package to workspace
library(corbouli)

# Import "USgdp" dataset
data(USgdp)

plot(USgdp, main = "Quarterly US GDP in billions of chained 2017 dollars
(Seasonally adjusted)", ylab = "", lwd  = 2)

Fig1

Fig. 1: USgdp dataset.

# Extract cycles
co <- corbae_ouliaris(USgdp, low_freq = 0.0625, high_freq = 0.3333)

# Plot cycles of filtered series
plot(co,
     main = "Corbae-Ouliaris FD Filter cycles for USgdp",
     ylab = "",
     lwd  = 2)

Fig2

Fig. 2: Corbae-Ouliaris FD Filter cycles.

# Plot real data with the ones after removing cycles
# Removing cycles from original data
USgdp_rmco <- USgdp - co

# Plot Original vs Decycled data
plot(USgdp, main = "Quarterly US GDP in billions of chained 2017 dollars
(Seasonally adjusted)", col = "black", lwd = 2, ylab = "")
lines(USgdp_rmco, col = adjustcolor("red", alpha.f = 0.7), lwd = 2)
legend(x = "topleft", lwd = 2, text.font = 2,
       col= adjustcolor(c("black","red"), alpha.f = 0.7),
       legend=c("Original data", "Decycled data"))

Fig3

Fig. 3: Original vs Decycled USgdp data.

As noted by Ouliaris (2009), for setting high_freq = 1 the output gap series than business cycle one will have higher volatility (Fig. 4).

# Extract output gap
og <- corbae_ouliaris(USgdp, low_freq = 0.0625, high_freq = 1)

# Plot Business cycle vs Output gap
plot(co, main = "Business cycle vs Output gap for USgdp",
     col = adjustcolor("blue", alpha.f = 0.7), lwd = 2, ylab = "")
lines(og, col = adjustcolor("orange", alpha.f = 0.7), lwd = 2)
legend(x = "bottomleft", lwd = 2, text.font = 2,
       col= adjustcolor(c("blue","orange"), alpha.f = 0.7),
       legend=c("Business cycle", "Output gap"))

Fig4

Fig. 4: Business cycle vs Output gap.

References

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

Corbae, D., Ouliaris, S., & Phillips, P. (2002), Band Spectral Regression with Trending-Data. Econometrica 70(3), pp. 1067-1109.

Corbae, D. & Ouliaris, S. (2006), Extracting Cycles from Nonstationary Data,in Corbae D., Durlauf S.N., & Hansen B.E. (eds.). Econometric Theory and Practice: Frontiers of Analysis and Applied Research. Cambridge: Cambridge University Press, pp. 167–177. https://doi.org/10.1017/CBO9781139164863.008.

Ouliaris, S. (2009), Ideal Band Pass Filter For Stationary/Non-Stationary Series.

Pérez Pérez, J. (2011), COULIARI: Stata module to implement Corbae-Ouliaris frequency domain filter to time series data. Statistical Software Components, S457218, Boston College Department of Economics.

Shaw, E.S. (1947), Burns and Mitchell on Business Cycles. Journal of Political Economy, 55(4): pp. 281-298. https://doi.org/10.1086/256533