The prices of financial market securities are often shaken by large and time-varying shocks. The amplitudes of these pricemovements are not constant. There are periods of high volatility and periods of low volatility. Within these periods volatility seems to be positively autocorrelated: high amplitudes are likely to be followed by high amplitudes and low amplitudes by low amplitudes. This observation which is particularly relevant for high frequency data such as, for example, daily stock market returns implies that the conditional variance of the one-period forecast error is no longer constant (homoskedastic), but time-varying (heteroskedastic). This insight motivated Engle (1982) and Bollerslev (1986) to model the time-varying variance thereby triggering a huge and still growing literature. The importance of volatility models stems from the fact that the price of an option crucially depends on the variance of the underlying security price. Another use of volatility models is to assess the risk of an investment. In the computation of the so-called value at risk (VaR), these models have become an indispensable tool. In the banking industry, due to the regulations of the Basel accords, such assessments are in particular relevant for the computation of the required equity capital backing-up assets of different risk categories.

In short, several important stylized facts (features) of financial return series:

Autoregressive Conditional Heteroskedasticity Models: The ARCH() Model

The ARCH(p) Model

The volatility of financial market prices exhibit a systematic behavior so that the conditional forecast error variance is no longer constant. This observation led Engle (1982) to consider the following simple model for heteroskedasticity (non-constant variance). ARCH is the abbreviation for autoregressive conditional heteroscedasticity, that is, the ARCH models are about the time-varying variance (volatility) of time series. The aim is to build a model of \(\sigma_t^{2}\) as a AR or MA process where the volatility can’t be constant (heteroskedastic).

A stochastic process \(X_t\) is called an ARCH(p) process if it satisfies

\[ X_t= \sigma_t+\epsilon_t \; (mean \;equation)\;(1)\] \[\sigma_t^{2}=w+\alpha_1X_{t-1}^{2}+\alpha_2X_{t-2}^{2}+....+\alpha_pX_{t-p}^{2}\; (volatility\; equation)\]

where \(ω\) ≥ 0, \(\alpha_i≥0\) , \(\alpha_p>0\) are constants, \(\epsilon_t∼iid(0, 1)\)

and \(\epsilon_t\) is independent of {\(X_k; k ≤ t − 1\)}.

Given that \(X_t=\frac{(P_t-P_{t-1})}{P_{t-1}}\;(2)\), \(\sigma_t^{2}\)(and \(\sigma_t\)) is independent of \(\epsilon_t\). Sometimes, however, we need to further suppose that \(\epsilon_t\) follows a standardized (skew) Student’s T distribution or a generalized error distribution in order to capture more features of a financial time series. According to (2) and the properties of the conditional mathematical expectation, we have that

\[E(X_t|F_{t-1})=\sigma_t^{2}E(\epsilon_t)=0\] and

\[Var(X^{2}_t|F_{t-1})=E(X^{2}_t|F_{t-1})=\sigma_t^{2}E(\epsilon^{2}_t)=\sigma_t^{2}\]

This implies that \(\sigma_t^{2}\) is the *conditional variance/ of \(X_t\) and it evolves according to the previous values of \({X^{2}_k;t-p≤kp≤t-1}\) like an AR(p) model.

An example of ARCH(1) model

\[ X_t= \sigma_t\epsilon_t\] \[\sigma_t^{2}=w+\alpha_1X_{t-1}^{2}\] The unconditional mean \[E(X_t)=0\]

The ARCH(1) model can expressed as

\(X^{2}_t=\sigma_t^{2}+X^{2}_t-\sigma_t^{2}=w+\alpha_1X_{t-1}^{2}+\sigma_t^{2}\epsilon_t^{2}-\sigma_t^{2}=w+\alpha_1X_{t-1}^{2}+\eta_t\;\;(3)\)

It can been shown that \(\eta_t\) is a new white noise.

Hence, if \(0‹\alpha_1‹1\) (3) is stationary in AR(1) model for the series \(X^{2}_t\). Thus the unconditional variance \[Var(X_t)=w+\alpha_1E(X_t^{2})\] That is \[Var(X_t)=\frac{w}{1-\alpha_1}\] Moreover, for \(h > 0\) \[E(X_{t+h},X_t)=0 \]

In addition, we are able to prove that \(X_t\) defined by (1) has heavier tails than the corresponding normal distribution.

Engle’s Lagrange-Multiplier Test

Engle (1982) proposed a Lagrange-Multiplier test. This test rests on an ancillary regression of the squared residuals against a constant and lagged values of \(X^{2}_{t-1},X^{2}_{t-2},..,X^{2}_{t-p}\) where the \(X^{2}_t\) is again obtained from a preliminary regression. The auxiliary regression thus is \[X^{2}_t=\alpha_0+\alpha_1X_{t-1}^{2}+\alpha_2X_{t-2}^{2}+....+\alpha_pX_{t-p}^{2}+\epsilon_t\] where \(\epsilon_t\) denote the error term.The null hypothesis \(H_0 \alpha_1=\alpha_2....=\alpha_p=0\) is tested against the alternative hypothesis \(H_1 \alpha_j≠0\). This test statistic is distributed as a \(\chi^{2}\) with p degrees of freedom. Alternatively, one may use the conventional F-test.

Generalized Autoregressive Conditional Heteroskedasticity Models:

the GARCH(p,q) Model

A natural idea for extending the ARCH model is to include a moving average part in the model, which is similar to the extension from an AR model to an ARMA model. A GARCH(p,q) model with order (p ≥ 1, q ≥ 0) is of the form:

\[ X_t= \sigma_t+\epsilon_t \; (mean \;equation)\;(4)\] \[\sigma_t^{2}=w+\sum_{i=1}^{p}\alpha_iX^{2}_{t-i}+\sum_{j=1}^{q}\beta_i\sigma^{2}_{t-j}\; (volatility\; equation)\]

where \(ω ≥ 0\), \(\alpha_i≥0\), \(\beta_j≥0\) , \(\alpha_p>0\) and , \(\beta_q≥0\) are constants, \(\epsilon_t∼iid(0, 1)\), and \(\epsilon_t\) is independent of {\(X_k; k ≤ t − 1\)}.

In practice, it has been found that for some time series, the ARCH(p) model will provide an adequate fit only if the order p is large. By allowing past volatilities to affect the present volatility in (4), a more parsimonious model may result. That is why we need GARCH models. The GARCH model has the properties as follows:

Simulation of GARCH(1,1) Model

The time plot of the simulated series shown in next plot displays the volatility clustering.

## NOTE: Packages 'fBasics', 'timeDate', and 'timeSeries' are no longer
## attached to the search() path when 'fGarch' is attached.
## 
## If needed attach them yourself in your R script by e.g.,
##         require("timeSeries")

ACF plot of simulated data from the GARCH(1,1)

The ACF plot of the squared simulated data shown in previous figure demonstrates that the squared series is autocorrelated or the series has an ARCH effect.

P-Value plot for the Ljung-Box test of simulated data from the GARCH(1,1)

Histogram, KDE, and normal density for simulated data from the GARCH(1,1). we see that the left tail of the distribution of the simulated series is heavier than the normal distribution.

Example

This is a data series of returns of Procter and Gamble stock from 1961 to 2016. The p-value for the KPSS test of the return series is greater than 0.1, which further illustrates that the series is stationary.

## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## Warning in kpss.test(pgret, null = "Level"): p-value greater than printed
## p-value
## 
##  KPSS Test for Level Stationarity
## 
## data:  pgret
## KPSS Level = 0.11778, Truncation lag parameter = 6, p-value = 0.1

looking for an ARCH effect: Engle’s Lagrange-Multiplier Test where \(H_0:no\;ARCH\;effect\)

## Cargando paquete requerido: zoo
## 
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## LM statistic: 23.06323
## p-value of LM: 0.02719391

Really low p-value, we reject \(H_0\) so \(H_1\) is considered true : there is an ARCH effect.

And the p-value plot for the Ljung-Box test of the return series is shown in next Figure that suggests evidently that the series is a white noise.

With respect to the squared return series, however, we clearly see that it is autocorrelated, that is, the return series has an ARCH effect.

Furthermore, we can plot the histogram and kernel density estimator (KDE) of the return series data shown that the distribution density of the return data has a fat (heavy) tail on the left compared with the normal density and is asymmetric, both of which are stylized facts on financial time series.

We see that the return series pgret is a white noise and has the ARCH effect. Now we are about to build an appropriate GARCH model for the return series. Due to the stationarity of the return series, the mean model is of the form \(r_t=\mu+X_t\). Since the constant mean estimate \(\mu=1.0918\) is statistically significant. The estimated GARCH model consist of the mean and volatility equations as follows:

\[R_t=1.0918+X_t\] \[X_t=\sigma_t\epsilon_t,;\ \epsilon_t⁓iidN(0,1)\] \[\sigma^{2}_t=2.8447 + 0.1252X^{2}_{t-1}+0.7843\sigma^{2}_{t-1}\]

The output:

## Cargando paquete requerido: parallel
## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : sGARCH(1,1)
## Mean Model   : ARFIMA(0,0,0)
## Distribution : norm 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error  t value Pr(>|t|)
## mu       1.09437    0.194152   5.6367 0.000000
## omega    2.87636    1.433238   2.0069 0.044761
## alpha1   0.12606    0.037494   3.3622 0.000773
## beta1    0.78266    0.072143  10.8487 0.000000
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu       1.09437    0.190587   5.7421 0.000000
## omega    2.87636    1.423004   2.0213 0.043246
## alpha1   0.12606    0.054110   2.3297 0.019821
## beta1    0.78266    0.082781   9.4546 0.000000
## 
## LogLikelihood : -2078.91 
## 
## Information Criteria
## ------------------------------------
##                    
## Akaike       6.1991
## Bayes        6.2260
## Shibata      6.1991
## Hannan-Quinn 6.2095
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.5086  0.4757
## Lag[2*(p+q)+(p+q)-1][2]    0.5728  0.6604
## Lag[4*(p+q)+(p+q)-1][5]    0.9984  0.8600
## d.o.f=0
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.2860  0.5928
## Lag[2*(p+q)+(p+q)-1][5]    0.8401  0.8947
## Lag[4*(p+q)+(p+q)-1][9]    1.4962  0.9559
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]    0.0486 0.500 2.000  0.8255
## ARCH Lag[5]    0.3654 1.440 1.667  0.9224
## ARCH Lag[7]    0.5063 2.315 1.543  0.9778
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  0.7271
## Individual Statistics:              
## mu     0.11848
## omega  0.30285
## alpha1 0.09374
## beta1  0.20500
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          1.07 1.24 1.6
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value     prob sig
## Sign Bias           0.4157 0.677734    
## Negative Sign Bias  1.7959 0.072956   *
## Positive Sign Bias  0.8584 0.390960    
## Joint Effect       11.6364 0.008738 ***
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     24.19      0.18895
## 2    30     42.02      0.05595
## 3    40     52.64      0.07107
## 4    50     55.08      0.25542
## 
## 
## Elapsed time : 0.258564

Observe the p-value plot for the Ljung-Box test of the model residuals shown and the p-value plot for the Ljung-Box test of the residual squares shown. It turns out that the residual is uncorrelated and neither is the residual squares. In other words, the ARCH effect is totally reflected, and the estimated GARCH model is adequate.

The only flaw is that the residuals are not normally distributed, which can be seen from the QQ plot. It is because the return series is fat tailed as we showed before.

It is well known that the Student’s T distribution has heavier tails than the normal one. Therefore, now we replace the normal distribution with a standard T distribution and re-estimate this model. We obtain a new estimated model as follows:

\[R_t=1.0157+X_t\] \[X_t=\sigma_t\epsilon_t,;\ \epsilon_t⁓iidT(0,1)\] \[\sigma^{2}_t=2.7251 + 0.0952X^{2}_{t-1}+0.8139\sigma^{2}_{t-1}\] The output:

## 
## *---------------------------------*
## *          GARCH Model Fit        *
## *---------------------------------*
## 
## Conditional Variance Dynamics    
## -----------------------------------
## GARCH Model  : sGARCH(1,1)
## Mean Model   : ARFIMA(0,0,0)
## Distribution : sstd 
## 
## Optimal Parameters
## ------------------------------------
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      1.062275    0.196636   5.4022 0.000000
## omega   2.768586    1.279804   2.1633 0.030519
## alpha1  0.097451    0.034648   2.8126 0.004915
## beta1   0.810955    0.061909  13.0992 0.000000
## skew    1.060546    0.057813  18.3444 0.000000
## shape   9.308413    3.043673   3.0583 0.002226
## 
## Robust Standard Errors:
##         Estimate  Std. Error  t value Pr(>|t|)
## mu      1.062275    0.185879   5.7149 0.000000
## omega   2.768586    0.963994   2.8720 0.004079
## alpha1  0.097451    0.033117   2.9426 0.003255
## beta1   0.810955    0.052986  15.3052 0.000000
## skew    1.060546    0.055154  19.2290 0.000000
## shape   9.308413    2.938645   3.1676 0.001537
## 
## LogLikelihood : -2071.627 
## 
## Information Criteria
## ------------------------------------
##                    
## Akaike       6.1834
## Bayes        6.2237
## Shibata      6.1833
## Hannan-Quinn 6.1990
## 
## Weighted Ljung-Box Test on Standardized Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.5279  0.4675
## Lag[2*(p+q)+(p+q)-1][2]    0.6194  0.6401
## Lag[4*(p+q)+(p+q)-1][5]    1.0482  0.8487
## d.o.f=0
## H0 : No serial correlation
## 
## Weighted Ljung-Box Test on Standardized Squared Residuals
## ------------------------------------
##                         statistic p-value
## Lag[1]                     0.9896  0.3198
## Lag[2*(p+q)+(p+q)-1][5]    1.4100  0.7620
## Lag[4*(p+q)+(p+q)-1][9]    1.9581  0.9100
## d.o.f=2
## 
## Weighted ARCH LM Tests
## ------------------------------------
##             Statistic Shape Scale P-Value
## ARCH Lag[3]    0.2944 0.500 2.000  0.5874
## ARCH Lag[5]    0.4850 1.440 1.667  0.8881
## ARCH Lag[7]    0.5902 2.315 1.543  0.9695
## 
## Nyblom stability test
## ------------------------------------
## Joint Statistic:  0.8314
## Individual Statistics:             
## mu     0.1090
## omega  0.3251
## alpha1 0.1282
## beta1  0.2432
## skew   0.1172
## shape  0.1741
## 
## Asymptotic Critical Values (10% 5% 1%)
## Joint Statistic:          1.49 1.68 2.12
## Individual Statistic:     0.35 0.47 0.75
## 
## Sign Bias Test
## ------------------------------------
##                    t-value     prob sig
## Sign Bias           0.2773 0.781615    
## Negative Sign Bias  2.3755 0.017805  **
## Positive Sign Bias  0.6030 0.546727    
## Joint Effect       13.5676 0.003557 ***
## 
## 
## Adjusted Pearson Goodness-of-Fit Test:
## ------------------------------------
##   group statistic p-value(g-1)
## 1    20     20.02       0.3931
## 2    30     30.23       0.4025
## 3    40     41.45       0.3642
## 4    50     51.66       0.3703
## 
## 
## Elapsed time : 0.201494