代码之家  ›  专栏  ›  技术社区  ›  Novic

R中如何在rugarch包中使用分布图

  •  0
  • Novic  · 技术社区  · 7 年前

    我有这样一个时间序列的回报:

    ret <- rnorm(50, -0.8 , 0.8)
    

    我将GARCH模型与 rugarch 包裹:

    library(rugarch)
          comtspec <- ugarchspec(mean.model=list(
                      armaOrder=c(1,0)), distribution="std",
                      variance.model=list(model="eGARCH"))
    
          fit <- ugarchfit(spec=comtspec, ret)
    
          hisPDF <- ugarchdistribution(fit, n.sim = 200, n.start = 1, m.sim = 20,  
                    recursive = TRUE, recursive.length = 6000,
                    recursive.window = 1000,
                    solver = "solnp")
    

    我从结果中绘制出第1节输出(参数密度图):

      plot(hisPDF)
    

    这给了我一个这样的图表:

    enter image description here

    我想用图中的密度函数(例如红色圆圈)作为积分和求矩的函数,但我不知道怎么做。有人能帮我一下吗>

    1 回复  |  直到 7 年前
        1
  •  1
  •   Kostas Vasilopoulos    7 年前

    模拟中的所有系数存储在:

    coefs <- hisPDF@dist[[1]]$simcoef
    

    自回归系数(ar)为第2列:

    ar <- coefs[,2]  
    

    现在,如果要像包一样创建密度图,则需要:

    d <- density(ar1)
    plot(d)
    

    但是,如果希望从分布中获得摘要统计信息,则不需要集成密度,只需要

     summary(ar1)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
    -0.17477 -0.13441 -0.08838 -0.07304 -0.03163  0.05786 
    

    请注意,这些值将不同,因为您正在使用随机生成器进行模拟,而没有指定random.seed。