Assignment 10
Assignment 10
DEPARTMENT OF MATHEMATICS
b.sc.honours in financial mathematics and industrial statistics
MFM3113: Financial Time Series (level III)
The models discussed so far concern the conditional mean structure of time series data.
However, more recently, there has been much work on modeling the conditional variance struc-
ture of time series data—mainly motivated by the needs for financial modeling
Let Yt be a time series of interest. The conditional variance of Yt given the past Y val-
ues, Yt−1 , Yt−2 , . . . , measures the uncertainty in the deviation of Yt from its conditional mean
E(Yt |Yt−1 , Yt−2 , . . . ). If Yt follows some ARIMA model, the (one-step- ahead) conditional
variance is always equal to the noise variance for any present and past values of the process.
Figure 1: Daily CREF Stock Values: August 26, 2004 to August 15, 2006
win.graph(width=4.875,height=2.5,pointsize=8)
data(CREF)
plot(CREF)
It shows a generally increasing trend with a hint of higher vari- ability with higher level of
the stock value.
Then, plot the CREF return series (sample size = 500). This plot shows that the returns
were more volatile over some time periods and became very volatile toward the end of the
study period. This observation may be more clearly seen by plotting the time sequence plot
of the absolute or squared returns.
Figure 2: Daily CREF Stock Returns: August 26, 2004 to August 15, 2006
r.cref=diff(log(CREF))*100
plot(r.cref)
abline(h=0)
These results might be triggered by the instability in the Middle East due to a war in
southern Lebanon from July 12 to August 14, 2006, the period that is shaded in gray in Figure
1 and Figure 2.This pattern of alternating quiet and volatile periods of substantial duration is
referred to as volatility clustering in the literature.
The sample ACF and PACF of the daily CREF returns (multiplied by 100), shown in Figure
3 and Figure 4, suggest that the returns have little serial correlation at all.
acf(r.cref)
pacf(r.cref)
acf(abs(r.cref))
pacf(abs(r.cref))
pacf(r.cref^2)
These visual tools are often supplemented by formally testing whether the squared data
are autocorrelated using the Box-Ljung test. Because no model fitting is required, the degrees
of freedom of the approximating chi-square distribution for the Box-Ljung statistic equals the
number of correlations used in the test.
In practice, it is useful to apply the McLeod-Li test for ARCH using a number of lags and plot
the p-values of the test. Figure 9 shows that the McLeod-Li tests are all significant at the 5%
significance level when more than 3 lags are included in the test. This is broadly consistent
with the visual pattern in Figure 7 and formally shows strong evidence for ARCH in this data.
win.graph(width=4.875, height=3,pointsize=8)
McLeod.Li.test(y=r.cref)
Figure 9: McLeod-Li Test Statistics for Daily CREF Returns
Next, the QQ plot suggests that the distribution of returns may have a tail thicker than
that of a normal distribution and may be somewhat skewed to the right. Indeed, the Shapiro-
Wilk test statistic for testing normality equals 0.9932 with p-value equal to 0.024, and hence
we reject the normality hypothesis at the usual significance levels.
win.graph(width=2.5,height=2.5,pointsize=8)
qqnorm(r.cref)
qqline(r.cref)
GARCH Models
Figure 12 shows the time series plot of a time series, of size 500, simulated from a GARCH(1,1)
model with standard normal innovations and parameter values ω = 0.02, α = 0.05, and β = 0.9.
Volatility clustering is evident in the plot, as large (small) fluctuations are usually succeeded
by large (small) fluctuations. Moreover, the inclusion of the lag 1 of the conditional variance
in the model successfully enhances the memory in the volatility.
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’)
Except for lags 3 and 20, which are mildly significant, the sample ACF and PACF of the
simulated data, shown in Figure 13 and 14, do not show significant correlations. Hence, the
simulated process seems to be basically serially uncorrelated as it is.
acf(garch11.sim)
pacf(garch11.sim)
Figures 15 through 18 show the sample ACF and PACF of the absolute values and the
squares of the simulated data.
acf(abs(garch11.sim))
Figure 15: Sample ACF of the Absolute Values of the Simulated GARCH(1,1) Process
pacf(abs(garch11.sim))
Figure 16: Sample PACF of the Absolute Values of the Simulated GARCH(1,1) Process
acf(garch11.sim^2)
Figure 17: Sample ACF of the Squared Values of the Simulated GARCH(1,1) Process
pacf(garch11.sim^2)
Figure 18: Sample PACF of the Squared Values of the Simulated GARCH(1,1) Process
Then, Figure 19 shows the sample EACF of the squared values from the simulated GARCH(1,1)
series.
eacf((garch11.sim)^2)
Figure 19: Sample EACF for the Squared Simulated GARCH(1,1) Series
The pattern in the EACF table is not very clear, although an ARMA(2,2) model seems
to be suggested. The fuzziness of the signal in the EACF table is likely caused by the larger
sampling variability when we deal with higher moments.
Indeed, the sample EACF table for the absolute returns, shown in Figure 20, more con-
vincingly suggests an ARMA(1,1) model, and therefore a GARCH(1,1) model for the original
data, although there is also a hint of a GARCH(2,2) model.
eacf(abs(garch11.sim))
Furthermore, the parameter estimates of the fitted ARMA model for the absolute data may
yield initial estimates for maximum likelihood estimation of the GARCH model. For example,
Figure 22 reports the estimated parameters of the fitted ARMA(1,1) model for the absolute
simulated GARCH(1,1) process.
arima(abs(garch11.sim),order=c(1,0,1))
Figure 21: Parameter Estimates with ARMA(1,1) Model for the Absolute Simulated
GARCH(1,1) Series
****************************************