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


原文链接:http://tecdat.cn/?p=26897 

原文出处:拓端数据部落公众号

视频:风险价值VaR原理与Python蒙特卡罗Monte Carlo模拟计算投资组合实例

风险价值VaR原理与Python蒙特卡罗Monte Carlo模拟计算投资组合实例

,时长10:03

风险价值 (VaR)

  • 风险价值 (VaR) 是金融风险管理中使用最广泛的市场风险度量,也被投资组合经理等从业者用来解释未来市场风险。VaR 可以定义为资产在给定时间段内以概率 θ 超过的市场价值损失。对于收益率 rt 的时间序列,VaRt将是这样的

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

其中 It-1表示时间 t-1 的信息集。

  • 尽管 VaR 在提供资产组合下行风险的简单总结时具有吸引人的简单性,但没有单一的计算方法。

1% 风险价值

  • 将价格转换为收益
  1.  
    library(ggplot2)
  2.  
    # 计算收益率的正态密度
  3.  
     
  4.  
    # 价格与收益的关系
  5.  
     
  6.  
    bp2 = Close
  7.  
    # 转换收益率
  8.  
     
  9.  
    bret = dailyReturn
  10.  
    # 改变列名
  11.  
    colnames(data_rd) = c(“x”, “y”)
  12.  
    # 正态分位数
  13.  
    vr1 = quantile
  14.  
    ggplot(data, aes(x = x, y = y))

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

图 :1% VaR

  • 在分布术语中,对于分布 F,VaR 可以定义为它的第 p 个分位数,由下式给出

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

其中 F−1是分布函数的倒数,也称为分位数函数。因此,一旦可以定义收益序列的分布,VaR 就很容易计算。

使用 GARCH 进行波动率建模和预测

  • 广义自回归条件异方差 (GARCH) 模型 ,用于预测条件波动率的最流行的时间序列模型。

  • 这些模型是条件异方差的,因为它们考虑了时间序列中的条件方差。GARCH 模型是在金融风险建模和管理中用于预测 VaR 和条件 VaR 等金融风险度量的最广泛使用的模型之一。

  • GARCH 模型是 ARCH 模型的广义版本。具有旨在捕获波动率聚类的 p 滞后项的标准 ARCH(p) 过程可以编写如下

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

其中,第 t 天的收益为 Yt=σtZt和 Zt∼iid(0,1),即收益的创新是由随机冲击驱动的

  • GARCH(p,q) 模型在 ARCH(p) 模型中包含滞后波动率,以纳入历史收益的影响

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

  • GARCH(1,1) 每个阶数只使用一个滞后,是实证研究和分析中最常用的版本。

 GARCH(1,1) 预测 VaR

  • 其中最通用和最有能力的一种是 rugarch 包。在这里,我们使用数据集来演示使用 rugarch 包中可用的函数和方法对 GARCH 进行建模。

  • 具有恒定均值方程的 GARCH(1,1) 模型 可以指定如下:

  1.  
    ugarchspec(variance.model = list(model = “sGARCH”, garchOrder = c(1,
  2.  
    1)), mean.model = list(armaOrder = c(0, 0)))
  • 上面存储的规范 garch_spec 现在可用于将 GARCH(1,1) 模型拟合到我们的数据。以下代码使用该函数将 GARCH(1,1) 模型拟合到 BHP 对数收益并显示结果。

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

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

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

  • 使用对象类可用的各种方法获得选定的拟合统计量 
  1.  
    par1 = par() #保存图形参数
  2.  
     
  3.  
    #使用哪个参数生成图形 图12 1. ACF的
  4.  
    # 标准化残差
  5.  
    plot(figarch, which = 10)
  6.  
    # 2. 条件SD
  7.  
    plot(fiarch, which = 3)

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

图 :GARCH(1,1) 的两个信息图

使用样本外的 VaR 预测 

  • 让我们使用 Student-t 分布,因为收益并不总是遵循正态分布
  1.  
    # 学生-T分布的spec2
  2.  
    spc2 = ugarchspec
  • rugarch 包对于估计移动窗口模型和预测 VaR 具有非常有用的功能。
garchroll(spec2, data = bpret
  • 我们可以使用以下例程绘制 1% 和 5% VaR 预测与实际收益的对比。
  1.  
    # 注意绘图方法提供了四张图,其中VaR为选项-4
  2.  
    # 预测1%的学生-t GARCH风险值
  3.  
    plot(v.t, which = 4, VRaha = 0.01)
  4.  
    # 5%学生-t GARCH风险值
  5.  
    plot(var.t, which = 4, Vaalha = 0.05)

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

图:实际收益率与 1% VaR 预测

  • 最后获得回测
  1.  
    # VaR预测的回测
  2.  
     
  3.  
    report(va., VaRha = 0.05) #α的默认值是0.01

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


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

最受欢迎的见解

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 条件均值和方差模型

9.R语言对S&P500股票指数进行ARIMA + GARCH交易策略

原创文章,作者:Carrie001128,如若转载,请注明出处:https://blog.ytso.com/267285.html

(0)
上一篇 2022年6月15日
下一篇 2022年6月15日

相关推荐

发表回复

登录后才能评论