# 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?

• I would say: dummy variables as additional regression terms in your returns equation. As instance, consider an AR(1)-GARCH(1, 1) model: you might use other exogenous variables to predict the $t+1$ return, and in your case these might be time series of zeros which get value $1$ only when the time stamp matches the supposed intraday pattern that you're looking for. In this way the "seasonality" component is explained by the dummies and the GARCH part is free to model de-seasonalized volatility. My two cents. May 9 '19 at 21:56
• You could also think about the volume clock proposed by Lopez de Prado in his "The 10 Reasons Most Machine Learning Funds Fail" paper (available on SSRN p.6). Basically the idea is to do not sample by hour but by volume May 10 '19 at 8:16

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.