Skip to content
All library documents

Removing Intraday Seasonality Before GARCH Volatility Modeling

Article Quant Q&A · Author: Thev

Summary

The document describes a way to account for recurring time-of-day patterns when estimating volatility with GARCH on hourly returns. It recommends estimating a deterministic intraday periodicity component and filtering returns by that component before fitting the volatility model, so the GARCH fit focuses on volatility variation beyond the regular seasonal pattern. The question specifically mentions excluding the first hour to remove the overnight return, but the answer addresses the broader issue of intraday seasonality.

It points to approaches for estimating the seasonal component, including a method designed to be robust to jumps, and cites research on intraday periodicity and volatility persistence. The discussion is methodological rather than an empirical comparison: it provides no dataset, fitted results, or guidance on selecting among seasonal models. Its notation also refers to squared returns while presenting a filtering relation, so implementation details should be checked against the chosen estimator. The answer does not explain how much data is needed or how to validate that the adjustment improves a particular GARCH specification.

Key ideas

  • Intraday volatility can have a deterministic time-of-day pattern that a GARCH model may otherwise absorb.
  • Estimate the periodic component and filter returns before fitting the GARCH model.
  • Some methods for estimating intraday seasonality are designed to resist the influence of jumps.
  • The source offers references and a software package pointer but no empirical comparison or model validation results.

Tags

Full text
# How to account for intraday seasonality in GARCH model?


# How to account for intraday seasonality in GARCH model?












I am using a GARCH(1,1) model to estimate volatility.

I am using hourly data to do this (I have hourly data for 100 trading days).

Besides removing the first hour (which represents the overnight return), what is a simple but effective way to correct my intraday data to account for intraday seasonality?

## Answer by Malick (score 5, accepted)

https://quant.stackexchange.com/a/45541

The traditional way is to pre-filter the returns thanks to the a relation similar to : $r^{f}_{t} = r_{t} /\phi_{t}$ where $r_{t}$ are the squared log returns, $r^{f}_{t}$ the filtered squared returns and $\phi_{t}$ the periodicity component. $\phi_{t}$ is a deterministic intraday component (the seasonal effect at time $t$). We estimate the GARCH model on the filtered (i.e de-seasonalized) series $r^{f}_{t}$.

There exists several models to characterise $\phi_{t}$, the one proposed by Boudt, K., Croux, C., & Laurent, S. (2011) is robust to Jumps.

The HighFrequency R package provides several routines to model the deterministic component, see here.

See also:

- Andersen, T. G., & Bollerslev, T. (1997). Intraday periodicity and volatility persistence in financial markets. Journal of Empirical Finance, 4(2–3), 115–158. https://doi.org/10.1016/S0927-5398(97)00004-2

- Boudt, K., Croux, C., & Laurent, S. (2011). Robust Estimation of Intraweek Periodicity in Volatility and Jump Detection. Journal of Empirical Finance, 18, 353–367. https://doi.org/10.2139/ssrn.1297371

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.