Wednesday, July 22, 2015

Generalized AutoRegressive Conditional Heteroskedasticity (GARCH) Process

High frequency time series generally exhibits the volatility. The Volatility in general means the risk in econometrics and it’s synonymous to standard deviation of data.  To model the volatility of any high frequency time series data Generalized AutoRegressive Conditional Heteroskedasticity (GARCH) Process is modeled. Here is a figure of such volatility.

To run a GARCH first develop a best ARIMA process. For all the tutorial blogs on ARIMA see (here). In ARIMA, we first make data stationary (find the intuition of stationary (here)), then we find an AR (to justify the grounds of habit persistence of any time series) and MA process (to justify the grounds of habit persistence of any errors left after the AR process). 

An ARIMA (p,q,d) process is given as: φp(B)Δdyt = θq(B)εt   (see my previous post on ARIMA (here)). Say a series is ${{Y}_{t}}$ and let it is either transform or differenced appropriately to be stationary and such stationary series of ${{Y}_{t}}$ is ${{R}_{t}}$. The ARMA $(p,q)$  process of ${{R}_{t}}$ can be alternatively written as:
\[{{R}_{t}}={{a}_{0}}+\sum\limits_{i=1}^{p}{{{R}_{t-i}}+}\sum\limits_{j=1}^{q}{{{\varepsilon }_{t-j}}+}{{\varepsilon }_{t}}\]
Now once we fit the best ARIMA (What is best see (here, here, here)) we are again left with residuals of ARIMA i.e. ${{\varepsilon }_{t}}$ . Unconditionally, the error term (${{\varepsilon }_{t}}$) is a zero mean white noise process. The conditional distribution of ${{\varepsilon }_{t}}$ is normal, $N(0,{{h}_{t}})$. The residual should be free from non-normality, autocorrelation and heteroskedasticity. The residual mostly becomes well behaved if we find the best ARIMA. 

However, for the high frequency data, the Autoregressive Conditional Heteroskedasticity (ARCH) effect persists because the high volatility are followed by high volatility times and low with low times. Hence second step is to check whether such ARCH effect persist in residual of ARIMA or not. If ARCH persist then we move ahead to GARCH process. A GARCH $(P,Q)$ can be modeled with the $N(0,{{h}_{t}})$ white noised error term (${{\varepsilon }_{t}}$).
\[{{h}_{t}}={{a}_{1}}+\sum\limits_{m=1}^{P}{{{\alpha }_{m}}\varepsilon _{t-m}^{2}}+\sum\limits_{n=1}^{Q}{{{\beta }_{n}}{{\varepsilon }_{t-n}}}\]
where ${{a}_{1}}>0$, ${{\alpha }_{m}},{{\beta }_{n}}\ge 0$ for all $m$ and $n$ and $\sum\limits_{m=1}^{P}{{{\alpha }_{m}}}+\sum\limits_{n=1}^{Q}{{{\beta }_{n}}<1}$.

Here is the my tutorial video of GARCH.

Here is quick workflow diagram for GARCH process.


  1. Hi,
    Really a great presentation and straight forward to understand, more grease to your elbow.
    please iam working on a project to find the best predictive model of the USD/NGN exchange rate, i used the qunatmod() library to download the USD/NGN data with getFX(USD/NGN). When i tried to use the auto.arima() i get ARIMA(0,0,0) which i believe is a random walk, and the test of Ljung-Box p-value= 1, indicating that i can really used GARCH model.
    can you please or any one help me with this?

  2. Error Correction Model (ECM) Panel Data EVIEWS 9
    video Introduce the concept of an Error Correction Model (ECM) Panel Data EVIEWS 9.
    WhatsApp : +6285227746673
    IG : @olahdatasemarang

  3. Thanks ya, artikel sangat membantu dalam menyelesaikan tugas perkuliahan tentang Generalized AutoRegressive Conditional Heteroskedastisitas (GARCH). Kunjungi juga ya MAKALAH GARCH