439/639: ARCH and GARCH Models

Author

Dr Sergey Kushnarev

1 ARCH models

ARCH (Autoregressive Conditional Heteroskedasticity) models are used to model time series data with changing variance over time. They are particularly useful in financial applications where volatility is not constant. The basic idea is to model the variance of the error term as a function of past squared errors.

For comparison, the ARMA models are conditionally homoscedastic, meaning that the variance of the error term is constant over time. In contrast, ARCH models allow for the variance to change over time, which is more realistic for many financial time series. The ARCH model was introduced by Robert Engle in 1982. The basic ARCH(q) model can be expressed as:

\[ Y_t = \mu + \sigma^2_t\epsilon_t \]

where \(\epsilon_t\) is the error term, and it is assumed to be normally distributed with mean 0 and variance 1. The variance \(\sigma^2_t\) is modeled as a function of past squared errors:

\[ \sigma^2_t = \alpha_0 + \alpha_1 \epsilon^2_{t-1} + \alpha_2 \epsilon^2_{t-2} + ... + \alpha_q \epsilon^2_{t-q} \]

where \(\alpha_0 > 0\) and \(\alpha_i \geq 0\) for \(i=1,2,...,q\). The parameters \(\alpha_0, \alpha_1, ..., \alpha_q\) are estimated from the data.

For example, ARCH(1) can be expressed as: \[ Y_t = \mu + \sigma^2_t\epsilon_t \]

\[ \sigma^2_t = \alpha_0 + \alpha_1 \epsilon^2_{t-1} \]

where \(\alpha_0 > 0\) and \(\alpha_1 \geq 0\). The ARCH(1) model captures the idea that the current variance is a function of the previous squared error.

Code
library(TSA)
# Load the CREF data
data(CREF) 
plot(CREF)

Code
# Calculate the returns
r.cref <- diff(log(CREF))*100
plot(r.cref) 
abline(h=0)
title(main="CREF Returns")

Code
# Plot ACF and PACF
acf(r.cref, main="ACF of CREF Returns")

Code
pacf(r.cref, main="PACF of CREF Returns")

Code
# Plot ACF and PACF of absolute returns
acf(abs(r.cref))
title(main="ACF of Absolute CREF Returns")

Code
pacf(abs(r.cref))
title(main="PACF of Absolute CREF Returns")

Code
# Plot ACF and PACF of squared returns
acf(r.cref^2, main="ACF of Squared CREF Returns")

Code
pacf(r.cref^2, main="PACF of Squared CREF Returns")

Note, that the ACF and PACF of the squared returns show significant spikes, indicating the presence of ARCH effects, but ACF and PACF of the original returns shows white noise.

Code
# Perform McLeod-Li test for ARCH effects
McLeod.Li.test(y=r.cref)

Code
qqnorm(r.cref)
qqline(r.cref)

Code
shapiro.test(r.cref)

    Shapiro-Wilk normality test

data:  r.cref
W = 0.99324, p-value = 0.02412

2 Simulated ARCH(1) process

Code
set.seed(1235678); library(tseries)
garch01.sim=garch.sim(alpha=c(.01,.9),n=500)
plot(garch01.sim,type='l',ylab=expression(r[t]), xlab='t')

Code
set.seed(1234567)
garch11.sim=garch.sim(alpha=c(0.02,0.05),beta=.9,n=500)
plot(garch11.sim,type='l',ylab=expression(r[t]), xlab='t')

Code
# ACF and PACF of the simulated ARCH(1) process
acf(garch11.sim, main="ACF of Simulated ARCH(1) Process")

Code
pacf(garch11.sim, main="PACF of Simulated ARCH(1) Process")

Code
# ACF and PACF of the absolute values of the simulated ARCH(1) process
acf(abs(garch11.sim), main="ACF of Absolute Simulated ARCH(1) Process")

Code
pacf(abs(garch11.sim), main="PACF of Absolute Simulated ARCH(1) Process")
title(main="PACF of Absolute Simulated ARCH(1) Process")

Code
# ACF and PACF of the squared values of the simulated ARCH(1) process
acf(garch11.sim^2, main="ACF of Squared Simulated ARCH(1) Process")

Code
pacf(garch11.sim^2, main="PACF of Squared Simulated ARCH(1) Process")

Code
# Extended ACF of squared and absolute values
eacf((garch11.sim)^2)
AR/MA
  0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 o o x x o o x o o o o  o  o  o 
1 x o o o x o x x o o o  o  o  o 
2 x o o o o o x o o o o  o  o  o 
3 x x x o o x o o o o o  o  o  o 
4 x x o x x o o o o o o  o  o  o 
5 x o x x o o o o o o o  o  o  o 
6 x o x x o x o o o o o  o  o  o 
7 x x x x x x o o o o o  o  o  o 
Code
eacf(abs(garch11.sim))
AR/MA
  0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 o o x x o o x o o o o  o  o  o 
1 x o o o x o o o o o o  o  o  o 
2 x x o o o o o o o o o  o  o  o 
3 x x o o o x o o o o o  o  o  o 
4 x x o x o x o o o o o  o  o  o 
5 x o x x x o o o o o o  o  o  o 
6 x o x x x x o o o o o  o  o  o 
7 x x x x x o x o o o o  o  o  o 

Plotting Extended ACF for the absolute and squared returns of the CREF data.

Code
eacf(abs(r.cref))
AR/MA
  0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 o o o o o o o o o x x  o  o  o 
1 x o o o o o o o o o o  o  o  o 
2 x o o o o o o o o o o  o  o  o 
3 x o x o o o o o o o o  o  o  o 
4 x o x o o o o o o o o  o  o  o 
5 x x x x o o o o o o o  o  o  o 
6 x x x x o o o o o o o  o  o  o 
7 x x x x o o o o o o o  o  o  o 
Code
eacf((r.cref)^2)
AR/MA
  0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 o o x x o o o x o x o  x  x  o 
1 x o o o o o o x o x o  o  x  o 
2 x x o o o o o o o o o  o  o  o 
3 x x o x o o o o o o o  x  o  o 
4 o x x x o o o o o o o  x  x  o 
5 x x o x o o o o o o o  x  o  o 
6 x x o x x o o o o o o  o  x  o 
7 x x o x o o x o o o o  o  x  o 

2.1 Fitting ARIMA and GARCH models to simulated GARCH(1,1)

Code
arima(abs(garch11.sim),order=c(1,0,1))

Call:
arima(x = abs(garch11.sim), order = c(1, 0, 1))

Coefficients:
         ar1      ma1  intercept
      0.9821  -0.9445     0.5077
s.e.  0.0134   0.0220     0.0499

sigma^2 estimated as 0.1486:  log likelihood = -232.97,  aic = 471.94
Code
g1 <- garch(garch11.sim,order=c(2,2))

 ***** ESTIMATION WITH ANALYTICAL GRADIENT ***** 

     I     INITIAL X(I)        D(I)

     1     3.294364e-01     1.000e+00
     2     5.000000e-02     1.000e+00
     3     5.000000e-02     1.000e+00
     4     5.000000e-02     1.000e+00
     5     5.000000e-02     1.000e+00

    IT   NF      F         RELDF    PRELDF    RELDX   STPPAR   D*STEP   NPRELDF
     0    1  2.661e+01
     1    4  2.641e+01  7.54e-03  1.69e-02  3.7e-02  5.1e+02  3.0e-02  4.31e+00
     2    5  2.609e+01  1.21e-02  1.87e-02  4.3e-02  2.0e+00  3.0e-02  1.50e+01
     3    6  2.573e+01  1.40e-02  1.46e-02  3.3e-02  2.0e+00  3.0e-02  6.06e+00
     4    9  2.279e+01  1.14e-01  1.06e-01  3.4e-01  1.8e+00  2.4e-01  6.46e+00
     5   11  2.225e+01  2.39e-02  2.80e-02  6.9e-02  2.0e+00  4.7e-02  2.82e+02
     6   12  2.157e+01  3.03e-02  3.31e-02  5.4e-02  2.0e+00  4.7e-02  3.50e+02
     7   13  2.111e+01  2.17e-02  2.66e-02  5.4e-02  2.0e+00  4.7e-02  1.76e+02
     8   15  2.105e+01  2.88e-03  1.23e-02  1.9e-02  2.0e+00  1.7e-02  3.37e+01
     9   16  2.080e+01  1.15e-02  1.42e-02  2.0e-02  2.0e+00  1.7e-02  5.77e+00
    10   17  2.056e+01  1.15e-02  2.28e-02  4.4e-02  2.0e+00  3.5e-02  4.10e+00
    11   20  2.052e+01  1.88e-03  3.51e-03  2.3e-03  6.1e+00  2.7e-03  1.16e+01
    12   21  2.049e+01  1.79e-03  1.79e-03  2.5e-03  2.2e+00  2.7e-03  1.86e+01
    13   22  2.042e+01  3.35e-03  3.41e-03  6.1e-03  2.0e+00  5.4e-03  1.91e+01
    14   25  2.002e+01  1.98e-02  2.64e-02  5.0e-02  2.0e+00  5.4e-02  1.85e+01
    15   29  1.997e+01  2.07e-03  3.54e-03  1.8e-03  4.2e+00  2.0e-03  8.73e-01
    16   30  1.994e+01  1.59e-03  1.61e-03  2.1e-03  2.7e+00  2.0e-03  5.52e-01
    17   31  1.989e+01  2.73e-03  2.79e-03  3.8e-03  2.0e+00  4.0e-03  5.91e-01
    18   34  1.958e+01  1.53e-02  2.11e-02  3.6e-02  1.9e+00  3.7e-02  5.99e-01
    19   35  1.930e+01  1.45e-02  2.02e-02  3.3e-02  1.9e+00  3.7e-02  6.31e-01
    20   36  1.907e+01  1.21e-02  3.55e-02  2.9e-02  1.8e+00  3.7e-02  3.27e-01
    21   37  1.865e+01  2.17e-02  3.50e-02  2.5e-02  1.9e+00  3.7e-02  4.75e-01
    22   39  1.857e+01  4.21e-03  5.14e-03  2.5e-03  2.0e+00  3.7e-03  1.23e-01
    23   42  1.847e+01  5.60e-03  5.64e-03  7.2e-03  1.6e+00  9.6e-03  1.21e-01
    24   44  1.826e+01  1.13e-02  1.17e-02  1.7e-02  1.3e+00  1.9e-02  1.66e-01
    25   47  1.825e+01  3.99e-04  4.53e-04  2.1e-04  2.9e+00  3.8e-04  2.11e-01
    26   51  1.808e+01  9.32e-03  1.40e-02  1.3e-02  3.3e+00  2.3e-02  2.30e-01
    27   53  1.803e+01  2.97e-03  5.38e-03  3.1e-03  2.0e+00  4.6e-03  1.77e-01
    28   54  1.798e+01  2.94e-03  3.01e-03  4.0e-03  2.0e+00  4.6e-03  1.72e-01
    29   56  1.797e+01  6.34e-04  6.77e-04  7.7e-04  2.2e+00  9.2e-04  1.66e-01
    30   57  1.795e+01  1.10e-03  1.12e-03  1.6e-03  2.0e+00  1.8e-03  1.62e-01
    31   59  1.792e+01  1.49e-03  1.59e-03  3.0e-03  2.0e+00  3.7e-03  1.58e-01
    32   61  1.791e+01  5.48e-04  5.63e-04  6.0e-04  2.0e+00  7.3e-04  1.30e-01
    33   62  1.790e+01  6.99e-04  7.34e-04  1.1e-03  2.0e+00  1.5e-03  1.22e-01
    34   64  1.789e+01  2.65e-04  2.50e-04  2.3e-04  2.3e+00  2.9e-04  1.18e-01
    35   66  1.789e+01  5.43e-05  5.50e-05  5.2e-05  1.5e+01  5.9e-05  1.17e-01
    36   68  1.789e+01  1.03e-04  1.03e-04  1.0e-04  4.4e+00  1.2e-04  1.19e-01
    37   70  1.789e+01  2.08e-05  2.03e-05  2.0e-05  4.4e+02  2.3e-05  1.19e-01
    38   72  1.789e+01  4.14e-05  4.05e-05  4.1e-05  4.7e+01  4.7e-05  1.28e-01
    39   74  1.789e+01  8.27e-06  8.07e-06  8.1e-06  9.6e+02  9.4e-06  1.28e-01
    40   76  1.789e+01  1.65e-06  1.61e-06  1.6e-06  4.8e+03  1.9e-06  1.30e-01
    41   78  1.789e+01  3.30e-07  3.23e-07  3.3e-07  2.4e+04  3.8e-07  1.30e-01
    42   80  1.789e+01  6.61e-07  6.45e-07  6.5e-07  3.0e+03  7.5e-07  1.30e-01
    43   82  1.789e+01  1.32e-07  1.29e-07  1.3e-07  6.0e+04  1.5e-07  1.30e-01
    44   84  1.789e+01  2.64e-07  2.58e-07  2.6e-07  7.6e+03  3.0e-07  1.30e-01
    45   86  1.789e+01  5.29e-07  5.16e-07  5.2e-07  3.8e+03  6.0e-07  1.30e-01
    46   88  1.789e+01  1.06e-07  1.03e-07  1.0e-07  7.6e+04  1.2e-07  1.30e-01
    47   90  1.789e+01  2.11e-08  2.06e-08  2.1e-08  3.8e+05  2.4e-08  1.30e-01
    48   92  1.789e+01  4.23e-08  4.13e-08  4.2e-08  4.7e+04  4.8e-08  1.30e-01
    49   94  1.789e+01  8.46e-09  8.26e-09  8.3e-09  9.4e+05  9.6e-09  1.30e-01
    50   96  1.789e+01  1.69e-08  1.65e-08  1.7e-08  1.2e+05  1.9e-08  1.30e-01
    51   98  1.789e+01  3.38e-09  3.30e-09  3.3e-09  2.4e+06  3.8e-09  1.30e-01
    52  100  1.789e+01  6.77e-10  6.61e-10  6.7e-10  1.2e+07  7.7e-10  1.30e-01
    53  102  1.789e+01  1.35e-09  1.32e-09  1.3e-09  1.5e+06  1.5e-09  1.30e-01
    54  104  1.789e+01  2.71e-10  2.64e-10  2.7e-10  3.0e+07  3.1e-10  1.30e-01
    55  106  1.789e+01  5.41e-10  5.28e-10  5.3e-10  3.7e+06  6.2e-10  1.30e-01
    56  108  1.789e+01  1.08e-10  1.06e-10  1.1e-10  7.4e+07  1.2e-10  1.30e-01
    57  111  1.789e+01  8.66e-10  8.46e-10  8.5e-10  2.3e+06  9.9e-10  1.30e-01
    58  114  1.789e+01  1.73e-11  1.69e-11  1.7e-11  4.6e+08  2.0e-11  1.30e-01
    59  116  1.789e+01  3.46e-11  3.38e-11  3.4e-11  5.8e+07  3.9e-11  1.30e-01
    60  119  1.789e+01  6.91e-13  6.76e-13  6.8e-13  1.2e+10  7.9e-13  1.30e-01
    61  121  1.789e+01  1.39e-12  1.35e-12  1.4e-12  1.4e+09  1.6e-12  1.30e-01
    62  123  1.789e+01  2.75e-13  2.71e-13  2.7e-13  2.9e+10  3.2e-13  1.30e-01
    63  125  1.789e+01  5.34e-14  5.41e-14  5.5e-14  1.4e+11  6.3e-14  1.30e-01
    64  127  1.789e+01  1.12e-13  1.08e-13  1.1e-13  1.8e+10  1.3e-13  1.30e-01
    65  129  1.789e+01  2.03e-14  2.16e-14  2.2e-14  3.6e+11  2.5e-14  1.30e-01
    66  131  1.789e+01  6.16e-15  4.33e-15  4.4e-15  1.8e+12  5.0e-15  1.31e-01
    67  133  1.789e+01  8.54e-15  8.66e-15  8.7e-15  2.3e+11  1.0e-14  1.36e-01
    68  134  1.789e+01 -5.59e+08  1.73e-14  1.7e-14  4.5e+11  2.0e-14  1.29e-01

 ***** FALSE CONVERGENCE *****

 FUNCTION     1.788786e+01   RELDX        1.746e-14
 FUNC. EVALS     134         GRAD. EVALS      68
 PRELDF       1.732e-14      NPRELDF      1.288e-01

     I      FINAL X(I)        D(I)          G(I)

     1    1.835300e-02     1.000e+00    -3.499e+00
     2    1.728230e-16     1.000e+00     5.063e+00
     3    1.135831e-01     1.000e+00     1.355e+01
     4    3.368745e-01     1.000e+00    -2.752e+00
     5    5.099761e-01     1.000e+00    -2.577e+00
Code
summary(g1)

Call:
garch(x = garch11.sim, order = c(2, 2))

Model:
GARCH(2,2)

Residuals:
      Min        1Q    Median        3Q       Max 
-3.346827 -0.631881  0.008473  0.736112  3.202344 

Coefficient(s):
    Estimate  Std. Error  t value Pr(>|t|)  
a0 1.835e-02   1.515e-02    1.211   0.2257  
a1 1.728e-16   4.723e-02    0.000   1.0000  
a2 1.136e-01   5.855e-02    1.940   0.0524 .
b1 3.369e-01   3.696e-01    0.911   0.3621  
b2 5.100e-01   3.575e-01    1.426   0.1538  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Diagnostic Tests:
    Jarque Bera Test

data:  Residuals
X-squared = 0.41859, df = 2, p-value = 0.8112


    Box-Ljung test

data:  Squared.Residuals
X-squared = 0.005298, df = 1, p-value = 0.942
Code
g2 <- garch(garch11.sim,order=c(1,1))

 ***** ESTIMATION WITH ANALYTICAL GRADIENT ***** 

     I     INITIAL X(I)        D(I)

     1     3.706160e-01     1.000e+00
     2     5.000000e-02     1.000e+00
     3     5.000000e-02     1.000e+00

    IT   NF      F         RELDF    PRELDF    RELDX   STPPAR   D*STEP   NPRELDF
     0    1  2.773e+01
     1    5  2.773e+01  2.16e-04  4.35e-04  4.2e-03  7.0e+02  4.2e-03  1.52e-01
     2    6  2.772e+01  2.97e-04  3.53e-04  5.2e-03  2.0e+00  4.2e-03  2.85e-01
     3    7  2.770e+01  5.63e-04  6.26e-04  8.8e-03  2.0e+00  8.3e-03  1.97e-01
     4   11  2.652e+01  4.27e-02  1.90e-02  3.8e-01  9.4e-01  2.7e-01  1.56e-01
     5   12  2.385e+01  1.01e-01  1.53e-01  4.4e-01  2.0e+00  5.3e-01  4.52e+01
     6   15  2.356e+01  1.24e-02  1.10e-01  6.4e-03  1.3e+01  1.0e-02  3.35e+00
     7   16  2.290e+01  2.81e-02  2.74e-02  6.5e-03  2.0e+00  1.0e-02  9.28e+00
     8   18  2.060e+01  1.00e-01  1.90e-01  4.7e-02  6.2e+00  7.5e-02  1.05e+00
     9   20  1.952e+01  5.22e-02  4.29e-02  3.5e-02  2.0e+00  5.9e-02  5.80e+00
    10   22  1.809e+01  7.32e-02  8.53e-02  6.2e-02  2.0e+00  1.2e-01  3.74e+01
    11   26  1.785e+01  1.32e-02  2.55e-02  7.9e-04  3.4e+00  1.7e-03  1.17e+01
    12   30  1.765e+01  1.13e-02  1.15e-02  6.9e-03  2.0e+00  1.4e-02  9.52e+00
    13   31  1.746e+01  1.08e-02  2.06e-02  1.4e-02  2.0e+00  2.8e-02  1.10e+00
    14   34  1.744e+01  9.37e-04  2.19e-03  1.4e-04  1.1e+01  2.8e-04  1.37e-01
    15   35  1.744e+01  1.00e-04  1.03e-04  1.4e-04  2.0e+00  2.8e-04  3.18e-02
    16   36  1.744e+01  7.34e-05  9.97e-05  2.7e-04  2.0e+00  5.6e-04  2.24e-02
    17   37  1.743e+01  2.06e-04  3.04e-04  5.1e-04  2.0e+00  1.1e-03  1.40e-02
    18   38  1.743e+01  1.16e-04  1.59e-04  4.8e-04  1.9e+00  1.1e-03  3.80e-03
    19   39  1.743e+01  4.11e-05  7.69e-05  5.1e-04  1.3e+00  1.1e-03  2.31e-04
    20   40  1.743e+01  8.47e-06  1.29e-05  1.3e-04  0.0e+00  3.0e-04  1.29e-05
    21   41  1.743e+01  2.90e-06  1.57e-05  9.8e-05  0.0e+00  2.4e-04  1.57e-05
    22   42  1.743e+01  7.81e-07  7.47e-07  9.0e-06  0.0e+00  2.1e-05  7.47e-07
    23   43  1.743e+01  2.69e-07  4.49e-08  1.6e-06  0.0e+00  4.1e-06  4.49e-08
    24   44  1.743e+01 -2.34e-08  5.16e-11  1.9e-07  0.0e+00  4.6e-07  5.16e-11

 ***** RELATIVE FUNCTION CONVERGENCE *****

 FUNCTION     1.743183e+01   RELDX        1.897e-07
 FUNC. EVALS      44         GRAD. EVALS      24
 PRELDF       5.158e-11      NPRELDF      5.158e-11

     I      FINAL X(I)        D(I)          G(I)

     1    7.574525e-03     1.000e+00     9.582e-03
     2    4.718358e-02     1.000e+00    -5.087e-04
     3    9.353769e-01     1.000e+00     9.737e-04
Code
summary(g2)

Call:
garch(x = garch11.sim, order = c(1, 1))

Model:
GARCH(1,1)

Residuals:
      Min        1Q    Median        3Q       Max 
-3.307030 -0.637977  0.009156  0.741977  3.019441 

Coefficient(s):
    Estimate  Std. Error  t value Pr(>|t|)    
a0  0.007575    0.007590    0.998   0.3183    
a1  0.047184    0.022308    2.115   0.0344 *  
b1  0.935377    0.035839   26.100   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Diagnostic Tests:
    Jarque Bera Test

data:  Residuals
X-squared = 0.82911, df = 2, p-value = 0.6606


    Box-Ljung test

data:  Squared.Residuals
X-squared = 0.53659, df = 1, p-value = 0.4638
Code
m1=garch(x=r.cref,order=c(1,1))

 ***** ESTIMATION WITH ANALYTICAL GRADIENT ***** 

     I     INITIAL X(I)        D(I)

     1     3.744782e-01     1.000e+00
     2     5.000000e-02     1.000e+00
     3     5.000000e-02     1.000e+00

    IT   NF      F         RELDF    PRELDF    RELDX   STPPAR   D*STEP   NPRELDF
     0    1  3.221e+01
     1    4  3.210e+01  3.24e-03  4.13e-03  9.8e-03  1.3e+03  1.0e-02  2.74e+00
     2    6  3.201e+01  2.94e-03  6.22e-03  2.6e-02  3.4e+02  2.0e-02  3.50e+00
     3    7  3.199e+01  6.93e-04  2.39e-03  2.6e-02  1.9e+00  2.0e-02  1.17e-02
     4    8  3.194e+01  1.41e-03  1.29e-03  2.2e-02  1.9e+00  2.0e-02  8.47e-03
     5   12  2.932e+01  8.20e-02  1.41e-02  7.6e-01  0.0e+00  6.4e-01  1.79e-02
     6   14  2.612e+01  1.09e-01  5.98e-02  8.2e-02  2.0e+00  1.3e-01  5.17e+01
     7   16  2.593e+01  7.50e-03  4.26e-02  1.6e-02  2.0e+00  2.6e-02  1.15e+04
     8   17  2.518e+01  2.89e-02  3.40e-02  1.3e-02  2.0e+00  2.6e-02  3.98e+03
     9   19  2.512e+01  2.48e-03  5.40e-03  5.7e-03  2.0e+00  9.9e-03  3.35e+02
    10   20  2.504e+01  3.15e-03  3.76e-03  5.4e-03  2.0e+00  9.9e-03  7.80e-01
    11   21  2.483e+01  8.37e-03  1.32e-02  1.1e-02  2.0e+00  2.0e-02  1.47e+02
    12   23  2.447e+01  1.42e-02  2.22e-02  8.4e-03  2.0e+00  1.7e-02  1.37e+03
    13   24  2.446e+01  4.63e-04  5.05e-03  9.0e-03  2.0e+00  1.7e-02  5.17e+00
    14   25  2.442e+01  1.63e-03  7.22e-03  3.6e-03  2.0e+00  8.6e-03  1.94e+02
    15   26  2.410e+01  1.34e-02  1.50e-02  4.9e-03  2.0e+00  8.6e-03  8.93e+02
    16   27  2.398e+01  4.73e-03  5.46e-03  4.4e-03  2.0e+00  8.6e-03  5.30e+02
    17   29  2.395e+01  1.12e-03  4.00e-03  3.6e-03  2.0e+00  6.5e-03  1.05e+02
    18   30  2.391e+01  1.72e-03  3.84e-03  3.1e-03  2.0e+00  6.5e-03  5.76e+00
    19   31  2.386e+01  2.40e-03  2.98e-03  3.2e-03  2.0e+00  6.5e-03  6.55e+00
    20   32  2.377e+01  3.76e-03  4.09e-03  6.6e-03  2.0e+00  1.3e-02  1.88e-01
    21   35  2.373e+01  1.34e-03  3.22e-03  5.7e-04  2.3e+00  1.1e-03  2.23e-01
    22   36  2.370e+01  1.65e-03  1.71e-03  5.3e-04  2.0e+00  1.1e-03  9.28e+00
    23   37  2.366e+01  1.35e-03  1.77e-03  8.2e-04  2.0e+00  2.2e-03  4.07e+00
    24   38  2.365e+01  6.20e-04  1.88e-03  2.4e-03  2.0e+00  4.3e-03  2.06e-01
    25   39  2.361e+01  1.73e-03  1.73e-03  2.3e-03  2.0e+00  4.3e-03  1.72e+00
    26   41  2.359e+01  7.23e-04  1.74e-03  1.6e-03  2.0e+00  3.6e-03  1.14e+00
    27   42  2.355e+01  1.70e-03  2.69e-03  3.6e-03  2.0e+00  7.1e-03  8.97e-02
    28   43  2.345e+01  4.12e-03  4.71e-03  3.7e-03  2.1e+00  7.1e-03  8.91e-01
    29   44  2.334e+01  4.99e-03  6.54e-03  7.3e-03  2.0e+00  1.4e-02  4.65e-01
    30   46  2.329e+01  2.11e-03  2.64e-03  1.5e-03  5.5e+00  2.9e-03  2.96e-02
    31   49  2.328e+01  1.49e-04  2.61e-04  9.1e-05  5.6e+00  1.8e-04  1.32e+00
    32   50  2.328e+01  7.36e-05  7.65e-05  9.7e-05  2.9e+00  1.8e-04  7.34e-01
    33   51  2.328e+01  1.49e-04  1.55e-04  1.7e-04  2.0e+00  3.7e-04  6.83e-01
    34   55  2.323e+01  2.02e-03  3.49e-03  4.3e-03  2.0e+00  9.3e-03  5.61e-01
    35   59  2.323e+01  1.39e-04  2.41e-04  7.3e-05  5.1e+00  1.5e-04  2.64e-03
    36   60  2.323e+01  1.12e-05  1.37e-05  7.1e-05  1.9e+00  1.5e-04  4.98e-04
    37   63  2.323e+01  1.20e-04  1.67e-04  9.3e-04  9.8e-01  1.9e-03  4.28e-04
    38   64  2.323e+01  1.90e-05  4.79e-05  9.5e-04  0.0e+00  1.9e-03  4.79e-05
    39   65  2.323e+01  4.43e-06  1.61e-06  6.2e-05  0.0e+00  1.5e-04  1.61e-06
    40   81  2.323e+01 -6.12e-16  2.77e-16  2.1e-14  4.9e+08  4.1e-14  9.63e-08

 ***** FALSE CONVERGENCE *****

 FUNCTION     2.322510e+01   RELDX        2.067e-14
 FUNC. EVALS      81         GRAD. EVALS      40
 PRELDF       2.771e-16      NPRELDF      9.635e-08

     I      FINAL X(I)        D(I)          G(I)

     1    1.632722e-02     1.000e+00     4.747e-02
     2    4.414103e-02     1.000e+00    -1.480e-01
     3    9.170401e-01     1.000e+00    -3.126e-02
Code
summary(m1)

Call:
garch(x = r.cref, order = c(1, 1))

Model:
GARCH(1,1)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.78577 -0.61949  0.08695  0.67933  3.30810 

Coefficient(s):
    Estimate  Std. Error  t value Pr(>|t|)    
a0   0.01633     0.01237    1.320   0.1869    
a1   0.04414     0.02097    2.105   0.0353 *  
b1   0.91704     0.04570   20.066   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Diagnostic Tests:
    Jarque Bera Test

data:  Residuals
X-squared = 1.0875, df = 2, p-value = 0.5806


    Box-Ljung test

data:  Squared.Residuals
X-squared = 0.77654, df = 1, p-value = 0.3782

2.2 Diagnostics of the model

Code
plot(residuals(m1),type='h',ylab='Standardized Residuals')

Code
qqnorm(residuals(m1), main="Normal Q-Q Plot of Residuals") 
qqline(residuals(m1))

Code
acf(residuals(m1)^2,na.action=na.omit, main="ACF of Squared Residuals")

Code
acf(abs(residuals(m1)),na.action=na.omit, main="ACF of Absolute Residuals")

We do not detect significant ARCH effects in the residuals. Thus the model is fitted adequately.