原文链接:http://tecdat.cn/?p=22360
在这篇文章中 , 我们将学习一种在价格序列中建立波动性模型的标准方法 , 即广义自回归条件异方差(GARCH)模型 。
价格波动的 GARCH 模型的思想是利用误差结构的近期实现来预测误差结构的未来实现 。 更简单地说 , 我们经常看到在高波动性或低波动性时期的聚类 , 因此我们可以利用近期的波动性来预测近期未来的波动性 。
我们将使用SPY价格来说明波动率的模型 。 下面的图显示了SPY收益率 。
文章图片
文章图片
colnames(SPYRet) <- c('SPY')
SPYRet <- tidy(SPYRet)
ggplot(SPYRet) +
geom_line() +
labs(title = "SPY收益率"
文章图片
文章图片
文章图片
这篇文章的首要目标是对价格收益序列的变化的平均值和方差进行建模 。
文章图片
文章图片
接下来 , 我们将通过两种常用的方式来显示收益率的变化方差 。 这些是绘制价格收益的绝对值 。
文章图片
文章图片
或价格收益的平方
文章图片
文章图片
这两种情况都是有意义的 , 因为方差总是一个正数 , 并且受到偏离平均值的影响 。 当然这是在我们知道收益序列的平均值为0的情况下 。
文章图片
文章图片
在价格数据中 , 百分比回报率的平均值几乎都非常接近于0 。如果平均回报率非零 , 那么我们可以直接绘制
add_column( value^2, abs(value))
ggplot(SPYRet) +
geom_line() +
labs(title = "SPY绝对收益值"
文章图片
文章图片
文章图片
ggplot(Ret, aes(y = SquaredReturns) +
geom_line() +
labs(title = "SPY平方收益率"
文章图片
文章图片
文章图片
波动率的GARCH模型 普通的(GARCH模型有很多变体)GARCH模型如下 。
文章图片
文章图片
第一行是为均值建模的方程 。 这里没有ARMA效应 , 但如果你发现它们很重要 , 可以很容易地把它们放进去 。 只有一个截距和一个误差项 。 接下来的三行将更多的结构放在误差项上 ,
第二行为什么我们要把两个项相乘来得到?t?
要看到这一点 , 重要的是要牢记这里的目标 。 我们正在寻找一个能给我们带来rSPYt变化方差的模型
文章图片
文章图片
因此 , 如果基本收益模型是
文章图片
文章图片
接下来的步骤依赖于随机变量方差的属性 。 具体来说 , 如果
文章图片
文章图片
文章图片
文章图片
因此 , 如果我们得到一个εt的模型
考虑GARCH模型中的第二行 。
文章图片
文章图片
请注意 σtσ2?2
文章图片
文章图片
最后一行是由于
文章图片
文章图片
文章图片
文章图片
估计GARCH模型 下面的代码使用rugarch R包来估计GARCH(p = 1, q = 1)模型 。 请注意 , p和q表示σ2t?2t的滞后数 。
第一条命令要求它用model = "sGARCH "指定一个普通的GARCH 。 它要求它使用ARMA(1, 1)作为收益模型 , 即armaOrder = c(1, 1), include.mean = TRUE 。 我们要求它使用N(0,1) , distribution.model="norm" , 模型输出显示在 "最优参数 "下 。 mu、ar1和ma1系数来自均值模型(ARMA(1 , 1)) , omega、alpha1和beta1是来自
文章图片
文章图片
garchspec(variance.m = list(model = "sGARCH", mean.m= list(armaOrder = c(1, 1)
dist = "norm")
garchfit
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
现在让我们用这个估计的模型来产生滚动预测 , 即
文章图片
文章图片
forecast(spec, n.ahead = 1, n.roll = 2499, out = 2500)
plot(forecast)
文章图片
文章图片
文章图片
可以看到 , 这个模型很好的预测了波动率峰值将保持多长时间 , 或者说是模拟了波动率峰值回落到长期平均水平的路径 。 由于所有的计量经济学模型都是用过去的数值来预测当前的数值 , 所以它无法预见波动率最初上升的情况 。
文章图片
文章图片
最受欢迎的见解
1.HAR-RV-J与递归神经网络(RNN)混合模型预测和交易大型股票指数的高频波动率
2.R语言中基于混合数据抽样(MIDAS)回归的HAR-RV模型预测GDP增长
3.波动率的实现:ARCH模型与HAR-RV模型
4.R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
5.GARCH(1,1) , MA以及历史模拟法的VaR比较
6.R语言多元COPULA GARCH 模型时间序列预测
7.R语言基于ARMA-GARCH过程的VAR拟合和预测
8.matlab预测ARMA-GARCH 条件均值和方差模型
【误差|拓端数据tecdat|R语言时间序列GARCH模型分析股市波动率】9.R语言对S&P500股票指数进行ARIMA + GARCH交易策略
推荐阅读
- 区块|面向2030:影响数据存储产业的十大应用(下):新兴应用
- 选型|数据架构选型必读:2021上半年数据库产品技术解析
- 殊荣|蝉联殊荣!数梦工场荣获DAMA2021数据治理三项大奖
- 数据|数智安防时代 东芝硬盘助力智慧安防新赛道
- 平台|数梦工场助力北京市中小企业公共服务平台用数据驱动业务创新
- 数据|中标 | 数梦工场以数字新动能助力科技优鄂
- 建设|数据赋能业务,数梦工场助力湖北省智慧应急“十四五”开局
- 市民|大数据、人工智能带来城市新变化 科技赋能深化文明成效
- 趋势|[转]从“智能湖仓”升级看数据平台架构未来方向
- 数据|天问一号火星离子与中性粒子分析仪首个成果面世