Building a volatility model for an asset return series consists of four steps:
1. Specify a mean equation by testing for serial dependence in the data and, if necessary, building an econometric model (e.g., an ARMA model) for the return series to remove any linear dependence.
2. Use the residuals of the mean equation to test for ARCH effects.
3. Specify a volatility model if ARCH effects are statistically significant, and perform a joint estimation of the mean and volatility equations.
4. Check the fitted model carefully and refine it if necessary.
For most asset return series, the serial correlations are weak, if any. Thus, building a mean equation amounts to removing the sample mean from the data if the sample mean is significantly different from zero. For some daily return series, a simple AR model might be needed. In some cases, the mean equation may employ some explanatory variables such as an indicator variable for weekend or January effects.
In what follows, we use R (both with and without OX) and S-Plus in empirical illustrations. Other software packages (e.g., Eviews, SCA, and RATS) can also be used.
3.3.1 Testing for ARCH Effect
For ease in notation, let at = rt − μt be the residuals of the mean equation. The squared series is then used to check for conditional heteroscedasticity, which is also known as the ARCH effects. Two tests are available. The first test is to apply the usual Ljung–Box statistics Q(m) to the series; see McLeod and Li (1983). The null hypothesis is that the first m lags of ACF of the series are zero. The second test for conditional heteroscedasticity is the Lagrange multiplier test of Engle (1982). This test is equivalent to the usual F statistic for testing αi = 0 (i = 1, … , m) in the linear regression
where et denotes the error term, m is a prespecified positive integer, and T is the sample size. Specifically, the null hypothesis is H0:α1 = = αm = 0. Let , where is the sample mean of , and , where êt is the least-squares residual of the prior linear regression. Then we have
which is asymptotically distributed as a chi-squared distribution with m degrees of freedom under the null hypothesis. The decision rule is to reject the null hypothesis if , where is the upper 100(1 − α)th percentile of , or the p value of F is less than α, type-I error.
To demonstrate, we consider the monthly log stock returns of Intel Corporation from 1973 to 2008; see Example 3.1. The series does not have significant serial correlations so that it can be directly used to test for the ARCH effect. Indeed, the Q(m) statistics of the return series give Q(12) = 18.26 with a p value of 0.11, confirming no serial correlations in the data. On the other hand, the Lagrange multiplier test shows strong ARCH effects with test statistic F ≈ 53.62, the p value of which is close to zero. The Ljung–Box statistics of the at series also shows strong ARCH effects with Q(12) = 89.85, the p value of which is close to zero.
S-Plus Demonstration
Denote the return series by intc. Note that the command archTest applies directly to the at series, not to .
> da=read.table(“m-intc7308.txt”,header=T)
> intc=log(da[,2]+1)
> autocorTest(intc,lag=12)
Test for Autocorrelation: Ljung-Box
Null Hypothesis: no autocorrelation
Test Statistics:
Test Stat 18.2635 p.value 0.1079
Dist. under Null: chi-square with 12 degrees of freedom
Total Observ.: 432
> archTest(intc,lag=12)
Test for ARCH Effects: LM Test
Null Hypothesis: no ARCH effects
Test Statistics:
Test Stat 53.6197 p.value 0.0000
Dist. under Null: chi-square with 12 degrees of freedom
R Demonstration
> da=read.table(“m-intc7308.txt”,header=T)
> intc=log(da[,2]+1)
> Box.test(intc,lag=12,type=‘Ljung’)
Box-Ljung test
data: intc
X-squared = 18.2635, df = 12, p-value = 0.1079
> at=intc-mean(intc)
> Box.test(atˆ2,lag=12,type=‘Ljung’)
Box-Ljung test
data: atˆ2
X-squared = 89.8509, df = 12, p-value = 5.274e-14