GARCH 模型:前进之路

在 R 中构建 GARCH 模型

Kris Boudt

Professor of finance and econometrics

GARCH 模型的发明者

Robert Engle

Engle

Tim Bollerslev

Bollie

在 R 中构建 GARCH 模型

符号(i)

  • 输入:收益率时间序列

预测的波动率

在 R 中构建 GARCH 模型

符号(ii)

  • 在时点 $t-1$,用当时的信息集预测未来收益 $R_t$:

预测的波动率

在 R 中构建 GARCH 模型

符号(iii)

  • 预测平均收益:对实际收益的最佳预测是什么? 预测的波动率
在 R 中构建 GARCH 模型

符号(iv)

  • 接着预测方差:收益可能偏离均值多远? 预测的波动率
在 R 中构建 GARCH 模型

从理论到实践:均值模型

  • 需要一个方程,将过去收益映射为均值的预测 预测的波动率

关于均值的 AR(MA) 模型,参见 Datacamp 的时间序列分析课程。

在 R 中构建 GARCH 模型

从理论到实践:方差模型

  • 需要一个方程,将过去收益映射为方差的预测 预测的波动率
在 R 中构建 GARCH 模型

ARCH(p) 模型:自回归条件异方差

  • 需要一个方程,将过去收益映射为方差的预测 预测的波动率
在 R 中构建 GARCH 模型

GARCH(1,1) 模型:广义 ARCH

  • 需要一个方程,将过去收益映射为方差的预测 预测的波动率
在 R 中构建 GARCH 模型

参数约束

为使 GARCH 过程更贴近现实,需要:

  1. $\omega$、$\alpha$ 和 $\beta$ 均 $>0$:确保任意时点 $\sigma^2_t >0$。

  2. $\alpha + \beta < 1$:确保预测方差 $\sigma^2_t$ 回归长期方差:

    • 因此方差是"均值回归"的
    • 长期方差为 $ \frac{\omega}{1-\alpha-\beta}$
在 R 中构建 GARCH 模型

R 实现——指定输入

  • 用 R 代码熟悉 GARCH 方程:

$$ \sigma^{2}_{t} = \omega + \alpha e^{2}_{t-1} \beta \sigma^{2}_{t-1} $$

# Set parameter values
alpha <- 0.1
beta <- 0.8
omega <- var(sp500ret) * (1 - alpha - beta)
# Then: var(sp500ret) = omega / (1 - alpha - beta)
# Set series of prediction error
e <- sp500ret - mean(sp500ret) # Constant mean
e2 <- e ^ 2
在 R 中构建 GARCH 模型

R 实现——计算预测方差

# We predict for each observation its variance. 
nobs <- length(sp500ret)
predvar <- rep(NA, nobs)
# Initialize the process at the sample variance
predvar[1] <- var(sp500ret)
# Loop starting at 2 because of the lagged predictor
for (t in 2:nobs){
   predvar[t] <- omega + alpha * e2[t - 1] + beta * predvar[t-1]
}
在 R 中构建 GARCH 模型

R 实现——GARCH 波动率图

# Volatility is sqrt of predicted variance
predvol <- sqrt(predvar)
predvol <- xts(predvol, order.by = time(sp500ret))
# We compare with the unconditional volatility
uncvol <- sqrt(omega / (1 - alpha-beta))
uncvol <- xts(rep(uncvol, nobs), order.by = time(sp500ret))
# Plot
plot(predvol)
lines(uncvol, col = "red", lwd = 2)
在 R 中构建 GARCH 模型

预测的波动率

在 R 中构建 GARCH 模型

Vamos praticar!

在 R 中构建 GARCH 模型

Preparing Video For Download...