R语言时间序列GARCH模型分析股市波动率

共 3543字,需浏览 8分钟

 ·

2022-11-09 10:15

全文链接: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绝对收益值"


点击标题查阅往期内容


R语言用GARCH模型波动率建模和预测、回测风险价值 (VaR)分析股市收益率时间序列


左右滑动查看更多


01

02

03

04



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(11)
                            dist = "norm")
garchfit

现在让我们用这个估计的模型来产生滚动预测,即

forecast(spec, n.ahead = 1, n.roll = 2499, out = 2500)

plot(forecast)

可以看到,这个模型很好的预测了波动率峰值将保持多长时间,或者说是模拟了波动率峰值回落到长期平均水平的路径。由于所有的计量经济学模型都是用过去的数值来预测当前的数值,所以它无法预见波动率最初上升的情况。


点击文末“阅读原文”

获取全文完整资料


本文选自《R语言时间序列GARCH模型分析股市波动率》。


点击标题查阅往期内容

R语言用GARCH模型波动率建模和预测、回测风险价值 (VaR)分析股市收益率时间序列
R语言使用多元AR-GARCH模型衡量市场风险
R语言GARCH模型对股市sp500收益率bootstrap、滚动估计预测VaR、拟合诊断和蒙特卡罗模拟可视化
R语言单变量和多变量(多元)动态条件相关系数DCC-GARCH模型分析股票收益率金融时间序列数据波动率
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
GARCH-DCC模型和DCC(MVT)建模估计
R语言预测期货波动率的实现:ARCH与HAR-RV与GARCH,ARFIMA模型比较
ARIMA、GARCH 和 VAR模型估计、预测ts 和 xts格式时间序列
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
Garch波动率预测的区制转移交易策略
金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据
R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测
R语言极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
R语言时间序列GARCH模型分析股市波动率
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
R语言多元Copula GARCH 模型时间序列预测
R语言使用多元AR-GARCH模型衡量市场风险
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言用Garch模型和回归模型对股票价格分析
GARCH(1,1),MA以及历史模拟法的VaR比较
matlab估计arma garch 条件均值和方差模型


浏览 38
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐