Time Series - HW 6

profileHenryMa
r_-egarchandothergarchmodelandexamples_tsay_.pdf

Lecture Note of Bus 41202, Spring 2012:

More Volatility Models. Mr. Ruey Tsay

The GARCH-M model

rt = μ + cσ 2 t + at, at = σt�t, σ

2 t = α0 + α1a

2 t−1 + β1σ

2 t−1

where c is referred to as risk premium, which is expected to be posi-

tive.

Example: A GARCH(1,1)-M model for the monthly excess returns

of S&P 500 index from January 1926 to December 1991. For numer-

ical stability, I use percentage returns. The fitted model is

rt = 0.743 + 0.048σ 2 t + at, σ

2 t = 0.812 + 0.123a

2 t−1 + .854σ

2 t−1.

Std err of risk premium is 0.141 so that the estimate is not statistically

significant at the usual 5% level. R demonstration > source("garchM.R")

> mn=garchM(sp5*100)

[1] 2399.822

0: 2380.0229: 0.422452 0.00561297 0.806149 0.121976 0.854361

3: 2379.9525: 0.427596 0.00652832 0.806107 0.121466 0.855756

6: 2378.4838: 0.606807 0.0375055 0.801889 0.126193 0.846833

9: 2377.9587: 0.673997 0.00166937 0.798191 0.125517 0.851915

12: 2377.8474: 0.692209 0.0444464 0.802574 0.122278 0.854141

15: 2377.7922: 0.742796 0.0480959 0.812187 0.122530 0.853507

Maximized log-likehood: 2377.792

Coefficient(s):

Estimate Std. Error t value Pr(>|t|)

mu 0.7427956 0.1540336 4.82229 1.4192e-06 ***

gamma 0.0480959 0.1408765 0.34140 0.7327991

omega 0.8121873 0.2858128 2.84168 0.0044877 **

alpha 0.1225297 0.0220596 5.55449 2.7843e-08 ***

beta 0.8535072 0.0219079 38.95885 < 2.22e-16 ***

---

1

Remarks: This R script is relatively slow. It takes longer time due

to its use of recursive loop in evaluating likelihood function.

The EGARCH model

Asymmetry in responses to past positive and negative returns:

g(�t) = θ�t + γ[|�t|− E(|�t|)],

with E[g(�t)] = 0.

To see asymmetry of g(�t), rewrite it as

g(�t) =

⎧⎪⎪⎨ ⎪⎪⎩ (θ + γ)�t − γE(|�t|) if �t ≥ 0, (θ − γ)�t − γE(|�t|) if �t < 0.

An EGARCH(m, s) model:

at = σt�t, ln(σ 2 t ) = α0 +

1 + β1B + · · · + βs−1Bs−1 1 − α1B −···− αmBm

g(�t−1).

Some features of EGARCH models:

• uses log trans. to relax the positiveness constraint • asymmetric responses

Consider an EGARCH(1,1) model

at = σt�t, (1 − αB) ln(σ2t ) = (1 − α)α0 + g(�t−1),

Under normality, E(|�t|) = √ 2/π and the model becomes

(1 − αB) ln(σ2t ) = ⎧⎪⎪⎨ ⎪⎪⎩ α∗ + (θ + γ)�t−1 if �t−1 ≥ 0, α∗ + (θ − γ)�t−1 if �t−1 < 0

2

where α∗ = (1 − α)α0 − √ 2 π γ.

This is a nonlinear fun. similar to that of the threshold AR model of

Tong (1978, 1990).

Specifically, we have

σ2t = σ 2α t−1 exp(α∗)

⎧⎪⎪⎪⎪⎪⎨ ⎪⎪⎪⎪⎪⎩

exp[(θ + γ) at−1√ σ2t−1

] if at−1 ≥ 0, exp[(θ − γ) at−1√

σ2t−1 ] if at−1 < 0.

The coefs (θ + γ) & (θ − γ) show the asymmetry in response to positive and negative at−1. The model is, therefore, nonlinear if

θ �= 0. Thus, θ is referred to as the leverage parameter. Focus on the function g(�t−1). The leverage parameter θ shows the

effect of the sign of at−1 whereas γ denotes the magnitude effect.

See Nelson (1991) for an exmaple of EGARCH model.

Another example: Monthly log returns of IBM stock from Jan-

uary 1926 to December 1997 for 864 observations.

For textbook, an AR(1)-EGARCH(1,1) is obtained (RATS program):

rt = 0.0105 + 0.092rt−1 + at, at = σt�t

ln(σ2t ) = −5.496 + g(�t−1)

1 − .856B, g(�t−1) = −.0795�t−1 + .2647[|�t−1|−

√ 2/π],

Model checking:

For ãt: Q(10) = 6.31(0.71) and Q(20) = 21.4(0.32)

For ã2t: Q(10) = 4.13(0.90) and Q(20) = 15.93(0.66)

3

Discussion:

Using √ 2/π ≈ 0.7979 ≈ 0.8, we obtain

ln(σ2t ) = −1.0 + 0.856 ln(σ2t−1) + ⎧⎪⎪⎨ ⎪⎪⎩ 0.1852�t−1 if �t−1 ≥ 0 −0.3442�t−1 if �t−1 < 0.

Taking anti-log transformation, we have

σ2t = σ 2×0.856 t−1 e

−1.001 × ⎧⎪⎪⎨ ⎪⎪⎩ e0.1852�t−1 if �t−1 ≥ 0 e−0.3442�t−1 if �t−1 < 0.

For a standardized shock with magnitude 2, (i.e. two standard devi-

ations), we have

σ2t (�t−1 = −2) σ2t (�t−1 = 2)

= exp[−0.3442 × (−2)]

exp(0.1852 × 2) = e 0.318 = 1.374.

Therefore, the impact of a negative shock of size two-standard de-

viations is about 37.4% higher than that of a positive shock of the

same size.

Forecasting: some recursive formula available

Another parameterization of EGARCH models

ln(σ2t ) = α0 + α1 |at−1| + γ1at−1

σt−1 + β1 ln(σ

2 t−1),

where γ1 denotes the leverage effect.

Below, I re-analyze the IBM log returns by extending the data to

December 2009. The sample size is 1008.

The fitted model is

rt = 0.012 + at, at = σt�t

4

ln(σ2t ) = −0.611 + 0.231|at−1|− 0.250at−1

σt−1 + 0.92 ln(σ2t−1).

Since EGARCH and TGARCH (below) share similar objective and

the latter is easier to estimate. We shall use TGARCH model.

The Threshold GARCH (TGARCH) or GJR Model A

TGARCH(s, m) or GJR(s, m) model is defined as

rt = μt + at, at = σt�tσ 2 t = α0 +

s∑ i=1

(αi + γiNt−i)a 2 t−i +

m∑ j=1

βjσ 2 t−j,

where Nt−i is an indicator variable such that

Nt−i =

⎧⎪⎪⎨ ⎪⎪⎩ 1 if at−i < 0,

0 otherwise.

One expects γi to be positive so that prior negative returns have

higher impact on the volatility.

The Asymmetric Power ARCH (APARCH) Model.

This model was introduced by Ding, Engle and Granger (1993) as a

general class of volatility models. The basic form is

rt = μt + at, at = σt�t, �t ∼ D(0, 1) σδt = ω +

s∑ i=1

αi(|at−i|− γiat−i)δ + m∑ j=1

βjσ δ t−j

where δ is a non-negative real number. In particular, δ = 2 gives rise

to the TGARCH model and δ = 0 corresponds to using log(σt).

Theoretically, one can use any power δ to obtain a model. In practice,

two things deserve further consideration. First, δ will also affect the

5

specification of the mean equation, i.e., model for μt. Second, it is

hard to interpret δ, except for some special values such as 0, 1, 2.

In R, one can fix the value of δ a priori using the subcommand

include.delta=F, delta = 2.

Here I pre-fix δ = 2. Thus, we can use APARCH model to estimate

TGARCH model. Consider the percentage log returns of monthly

IBM stock from 1926 to 2009.

R demonstration

> da=read.table("m-ibm2609.txt",header=T)

> head(da)

date ibm

1 19260130 -0.010381

.....

6 19260630 0.068493

> ibm=log(da$ibm+1)*100

> m1=garchFit(~aparch(1,1),data=ibm,trace=F,delta=2,include.delta=F)

> summary(m1)

Title:

GARCH Modelling

Call:

garchFit(formula = ~aparch(1, 1), data = ibm, delta = 2, include.delta = F,

trace = F)

Mean and Variance Equation:

data ~ aparch(1, 1)

[data = ibm]

Conditional Distribution: norm

Coefficient(s):

mu omega alpha1 gamma1 beta1

1.18659 4.33663 0.10767 0.22732 0.79468

Std. Errors: based on Hessian

Error Analysis:

Estimate Std. Error t value Pr(>|t|)

mu 1.18659 0.20019 5.927 3.08e-09 ***

omega 4.33663 1.34161 3.232 0.00123 **

6

alpha1 0.10767 0.02548 4.225 2.39e-05 ***

gamma1 0.22732 0.10018 2.269 0.02326 *

beta1 0.79468 0.04554 17.449 < 2e-16 ***

---

Log Likelihood:

-3329.177 normalized: -3.302755

Standardised Residuals Tests:

Statistic p-Value

Jarque-Bera Test R Chi^2 67.07416 2.775558e-15

Shapiro-Wilk Test R W 0.9870142 8.597234e-08

Ljung-Box Test R Q(10) 16.90603 0.07646942

Ljung-Box Test R Q(15) 24.19033 0.06193099

Ljung-Box Test R Q(20) 31.89097 0.04447407

Ljung-Box Test R^2 Q(10) 4.591691 0.9167342

Ljung-Box Test R^2 Q(15) 11.98464 0.6801912

Ljung-Box Test R^2 Q(20) 14.79531 0.7879979

LM Arch Test R TR^2 7.162971 0.8466584

Information Criterion Statistics:

AIC BIC SIC HQIC

6.615430 6.639814 6.615381 6.624694

> plot(m1) <= shows normal distribution is not a good fit.

>

> m1=garchFit(~aparch(1,1),data=ibm,trace=F,delta=2,include.delta=F,cond.dist="std")

> summary(m1)

Title:

GARCH Modelling

Call:

garchFit(formula = ~aparch(1, 1), data = ibm, delta = 2, cond.dist = "std",

include.delta = F, trace = F)

Mean and Variance Equation:

data ~ aparch(1, 1)

[data = ibm]

Conditional Distribution: std

Coefficient(s):

mu omega alpha1 gamma1 beta1 shape

1.20476 3.98975 0.10468 0.22366 0.80711 6.67329

Std. Errors: based on Hessian

Error Analysis:

Estimate Std. Error t value Pr(>|t|)

7

mu 1.20476 0.18715 6.437 1.22e-10 ***

omega 3.98975 1.45331 2.745 0.006046 **

alpha1 0.10468 0.02793 3.747 0.000179 ***

gamma1 0.22366 0.11595 1.929 0.053738 .

beta1 0.80711 0.04825 16.727 < 2e-16 ***

shape 6.67329 1.32779 5.026 5.01e-07 ***

---

Log Likelihood:

-3310.21 normalized: -3.283938

Standardised Residuals Tests:

Statistic p-Value

Jarque-Bera Test R Chi^2 67.82336 1.887379e-15

Shapiro-Wilk Test R W 0.9869698 8.212564e-08

Ljung-Box Test R Q(10) 16.91352 0.07629962

Ljung-Box Test R Q(15) 24.08691 0.06363224

Ljung-Box Test R Q(20) 31.75305 0.04600187

Ljung-Box Test R^2 Q(10) 4.553248 0.9189583

Ljung-Box Test R^2 Q(15) 11.66891 0.7038973

Ljung-Box Test R^2 Q(20) 14.18533 0.8209764

LM Arch Test R TR^2 6.771675 0.872326

Information Criterion Statistics:

AIC BIC SIC HQIC

6.579782 6.609042 6.579711 6.590898

> plot(m1)

Make a plot selection (or 0 to exit):

1: Time Series

2: Conditional SD

3: Series with 2 Conditional SD Superimposed

4: ACF of Observations

5: ACF of Squared Observations

6: Cross Correlation

7: Residuals

8: Conditional SDs

9: Standardized Residuals

10: ACF of Standardized Residuals

11: ACF of Squared Standardized Residuals

12: Cross Correlation between r^2 and r

13: QQ-Plot of Standardized Residuals

Selection: 13

For the percentage log returns of IBM stock from 1926 to 2009, the

8

fitted GJR model is

rt = 1.20 + at, at = σt�t, �t ∼ t∗6.67 σ2t = 3.99 + 0.105(|at−1|− 0.224at−1)2 + .807σ2t−1,

where all estimates are significant, and model checking indicates that

the fitted model is adequate.

Note that, we can obtain the model for the log returns as

rt = 0.012 + at, at = σt�t

σ2t = 3.99 × 10−4 + 0.105(|at−1|− 0.224at−1)2 + .807σ2t−1.

The sample variance of the IBM log returns is about 0.005 and the

empirical 2.5% percentile of the data is about −0.130. If we use these two quantities for σ2t−1 and at−1, respectively, then we have

σ2t (−) σ2t (+)

= 0.0004 + 0.105(0.130 + 0.224 × 0.130)2 + 0.807 × 0.005 0.0004 + 0.105(0.130 − 0.224 × 0.130)2 + 0.807 × 0.005

= 1.849.

In this particular case, the negative prior return has about 85% higher

impact on the conditional variance.

Stochastic volatility model

A (simple) SV model is

at = σt�t, (1 − α1B −···− αmBm) ln(σ2t ) = α0 + vt where �t’s are iid N(0, 1), vt’s are iid N(0, σ

2 v), {�t} and {vt} are

independent.

9

�3 �2 �1 0 1 2 3

� 2

0 2

4

qnorm � QQ Plot

Theoretical Quantiles

S a m

p le

Q u a n til

e s

Figure 1: Normal probability plot for TGARCH(1,1) model fitted to monthly percentage log returns of IBM stock from 1926 to 2009

10

�4 �2 0 2 4

� 2

0 2

4

qstd � QQ Plot

Theoretical Quantiles

S a m

p le

Q u a n til

e s

Figure 2: QQ plot for TGARCH(1,1) model fitted to monthly percentage log returns of IBM stock from 1926 to 2009.

11

Long-memory SV model

A simple LMSV is

at = σt�t, σt = σ exp(ut/2), (1 − B)dut = ηt where σ > 0, �t’s are iid N(0, 1), ηt’s are iid N(0, σ

2 η) and indepen-

dent of �t, and 0 < d < 0.5.

The model says

ln(a2t) = ln(σ 2) + ut + ln(�

2 t)

= [ln(σ2) + E(ln �2t)] + ut + [ln(� 2 t) − E(ln �2t)]

≡ μ + ut + et.

Thus, the ln(a2t) series is a Gaussian long-memory signal plus a non-

Gaussian white noise; see Breidt, Crato and de Lima (1998).

Application

see Examples 3.4 & 3.5

12