• 拓端tecdat|R语言多变量广义正交GARCH(GOGARCH)模型对股市高维波动率时间序列拟合预测


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

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

    在多变量波动率预测中,我们有时会看到对少数主成分驱动的协方差矩阵建模,而不是完整的股票。使用这种因子波动率模型的优势是很多的。

    首先,你不需要对每个股票单独建模,你可以处理流动性相当弱的股票。第二,因子波动率模型在计算成本低。第三,与指数加权模型相比,持久性参数(通常表示为λ)不必在所有股票上都是一样的。你可以为每个因子指定一个不同的过程,这样协方差矩阵过程就会有更丰富的动态变化。 

    但这里没有免费的午餐,代价是信息的损失。它是将协方差矩阵中的信息浓缩为少数几个因子的代价。这意味着因子波动率模型最适合于实际显示因子结构的数据。因子波动率模型并不是具有弱的截面依赖性的数据的最佳选择。在因子化的过程中会丢失太多的信息。
     

    这篇文章,我们让主成分遵循 GARCH 过程。代数相当简单。

    (1) 

    (2) 

    D_t 是一个对角矩阵,维数为选定的因子数。将此矩阵设置为对角线意味着主成分之间的协方差为零(所有非对角线元素都为零)。因此它们是正交的。当然,通过构造,主成分只是无条件正交的,但我们添加了约束\假设它们在每个时间点也是正交的。这确保 \西格玛 是一个有效的协方差矩阵。

    D_t的对角线 填充了因子的方差。这里我们使用阈值-GARCH 模型。

    让我们实践。我们使用股票数据。前两个追踪短期和长期的债券收益,后两个追踪股票指数。每日收益矩阵 ret。

    下面的代码分为两部分。首先,我们基于单个因子的阈值 GARCH 模型构建了我们自己的双因子正交 GARCH 模型。有几种不同的方法来估计参数(非线性最小二乘法、最大似然法和矩量法)。

    1.  
      #--------------
    2.  
      # 第一部分,自己的双因子正交 GARCH 模型
    3.  
      #--------------------
    4.  
       
    5.  
      library(rugarch) # 单变量GARCH模型
    6.  
      # 我使用1000个观察的初始窗口,每增加一个时间点就重新估计模型的参数
    7.  
      wd <- 1000 #初始窗口
    8.  
      k <- 2 #因素的数量
    9.  
      Uvofit <- matrix # 用一个矩阵来保存三种资产的波动率
    10.  
       
    11.  
      for(i in wd:T){
    12.  
      pc1 <- promp # 主成分分解
    13.  
      for (j in 1:k){ # 对于每个因素,这里有相同的Garch过程(但可以是不同的)。
    14.  
      gjel = ugarchfit
    15.  
      }
    16.  
      # 不使用内置的 prcomp 函数获得 w。
    17.  
      w <- matrix(eivales, nrow = l, ncol = k, byrow = F) * (eigos)
    18.  
      # 存储每个时间点上的协方差矩阵。
    19.  
      for(i in 1:TT){
    20.  
      # 这是Gamma D_t gamma'。
    21.  
      otch[i,,] <- w %*% as.matrix) %*% t(w)
    22.  
      }
    23.  
       
    24.  
      # 第二部分。使用广义正交GARCH(GO-GARCH)模型
    25.  
      #--------------
    26.  
       
    27.  
      garchestby = "mm"
    28.  
      summary
    29.  
       
    30.  
      # 让我们从这个模型中获得协方差
    31.  
      mH <- array
    32.  
      for(i in 1:TT){
    33.  
      yH[i,,] <- faf@H[[i]] 。
    34.  
      }
    35.  
      # 绘制这两张图。因为我们用1000作为初始窗口,所以只画最近的观察值
    36.  
      # 改变k来表示最近的观测值。
    37.  
      k <- TT - wd
    38.  
      teme <- tail(time,k) # 定义时间
    39.  
      # 用来绘制相关图的函数
    40.  
      plot(teime
    41.  
      abline
    42.  
      lines(tetime
    43.  
      # 让我们来看看所产生的相关关系。


     

    我们看到的是对应于 6 个相关序列(SPY 与 TLT、SPY 与 QQQ 等)。我们自己的估计模型和使用包构建的模型之间几乎没有区别。但我们自己的只使用了 2 个因子,一个差分 GARCH 模型,估计的是窗口而不是整个样本,以及不同的估计方法。我怀疑真实的相关性是否像底部面板中估计的那样稳定。

    * 我们在这里混合了代数、概率和几何的术语。正交是一个来自几何学的术语,它是指两个向量之间的角度。如果它们是垂直的,就被称为正交。 代数上,如果它们的内积会发生这种情况 \langle x, y \rangle 为零。在概率上,回到协方差矩阵,COV(x,y)=E(XY)-E(X)E(Y),但因为因子的平均值为零。COV(x,y)=E(XY)。所以E(XY)=0意味着因子是正交的。本质上,正交性意味着线性独立。 


     

    最受欢迎的见解

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

    2.R语言改进的股票配对交易策略分析SPY—TLT组合和中国股市投资组合

    3.R语言时间序列:ARIMA GARCH模型的交易策略在外汇市场预测应用

    4.TMA三均线期指高频交易策略的R语言实现

    5.r语言多均线量化策略回测比较

    6.用R语言实现神经网络预测股票实例

    7.r语言预测波动率的实现:ARCH模型与HAR-RV模型

    8.R语言如何做马尔科夫转换模型markov switching model

    9.matlab使用Copula仿真优化市场风险

  • 相关阅读:
    使用 HTML5 可以做的五件很棒的事情
    分享最新20款非常棒的 CSS 工具
    最新17个紫色风格网页设计作品欣赏
    最新70佳很酷的名片设计作品欣赏
    50个优秀的名片设计作品欣赏
    推荐12个漂亮的CSS3按钮实现方案
    推荐10个很棒的 CSS3 开发工具
    30个复古风格的网页设计作品欣赏
    非常流行的十款 jQuery 插件推荐
    20个漂亮的WordPress作品集主题分享
  • 原文地址:https://www.cnblogs.com/tecdat/p/15999046.html
Copyright © 2020-2023  润新知