本节书摘来异步社区《量化金融R语言初级教程》一书中的第1章,第1.4节,作者: 【匈牙利】Gergely Daróczi(盖尔盖伊) , 等 译者: 高蓉 , 李茂 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.4 波动率建模
正如我们之前所见,ARIMA模型常常用于过程的过去值已知时的条件期望建模。过去值已知的过程的条件方差是常数。真实世界的金融时间序列存在着波动性聚集和其他特点,换句话说,突发波动率打破了相对稳定的时期。
在这一节中,我们来考查GARCH时间序列模型。GARCH模型研究真实世界的(金融)时间序列的这个典型化事实——波动性聚集,并进一步运用这些模型预测在险价值(Value at Risk,VaR)。
1.4.1 风险管理的波动率预测
金融机构使用VaR来度量他们的活动风险,通常在10个工作日范围内计算置信水平为99%的临界值。这意味着在这10天内,只有1%的时间会出现预期损失超过临界值。
我们载入zoo包并导入英特尔公司的月收益率数据,时间范围从1973年1月~2008年12月。
> library("zoo")
> intc <- read.zoo("intc.csv", header = TRUE,
+ sep = ",", format = "%Y-%m", FUN = as.yearmon)
1.4.2 检验ARCH效应
收益率图形表明,在月收益率数据中可能存在ARCH效应。
> plot(intc, main = "Monthly returns of Intel Corporation",
+ xlab = "Date", ylab = "Return in percent")
上面命令的输出在图1-3中显示。
我们可以使用统计假设检验来验证自己的想法。两种常用检验如下。
用于平方收益率(波动率的一种代理)自相关的Ljung-Box检验。
Engle(1982年)提出的拉格朗日乘子(LM)检验。
首先,我们运行下面的命令,从而在平方收益率的前12阶滞后值上执行Ljung-Box检验。