拓端tecdat|R语言中的copula GARCH模型拟合时间序列并模拟分析

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

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

 在这个文章中,我们演示了copula GARCH方法(一般情况下)。

1 模拟数据

首先,我们模拟一下创新分布。我们选择了一个小的样本量。理想情况下,样本量应该更大,更容易发现GARCH效应。 

  1.  
    ## 模拟创新
  2.  
    d <- 2 # 维度
  3.  
    tau <- 0.5 # Kendall's tau
  4.  
    Copula("t", param = th, dim = d, df = nu) # 定义copula对象
  5.  
    rCopula(n, cop) # 对copula进行采样
  6.  
    sqrt((nu.-2)/nu.) * qt(U, df = nu) # 对于ugarchpath()来说,边缘必须具有均值0和方差1!

现在我们用这些copula依赖的创新分布来模拟两个ARMA(1,1)-GARCH(1,1)过程。

  1.  
    ## 边缘模型的参数
  2.  
    fixed.p <- list(mu = 1,
  3.  
    spec(varModel, meanModel,
  4.  
    fixed.pars ) # 条件创新密度(或使用,例如,"std")
  5.  
     
  6.  
    ## 使用创新模拟ARMA-GARCH模型
  7.  
    ## 注意: ugarchpath(): 从spec中模拟;
  8.  
    garchpath(uspec,
  9.  
    n.sim = n, # 模拟的路径长度
  10.  
     
  11.  
     
  12.  
    ## 提取结果系列
  13.  
    X. <- fitted(X) # X_t = mu_t + eps_t (simulated process)
  14.  
     
  15.  
     
  16.  
    ## 基本检查:
  17.  
    stopifnot(all.equal(X., X@path$seriesSim, check.attributes = FALSE),
  18.  
     
  19.  
     
  20.  
    ## 绘制边缘函数
  21.  
    plot(X., type = "l", xlab = "t")

2 基于模拟数据的拟合程序

我们现在展示如何对X进行ARMA(1,1)-GARCH(1,1)过程的拟合(我们删除参数fixed.pars来估计这些参数)。

  1.  
    spec(varModel, mean.model = meanModel)
  2.  
    ugarchfit(uspec, data = x))

检查(标准化的)Z,即残差Z的伪观测值。 

plot(U.)

对于边缘分布,我们也假定为t分布,但自由度不同。

fit("t", dim = 2), data = U., method = "mpl")
  1.  
    nu. <- rep(nu., d) # 边缘自由度
  2.  
    est <- cbind(fitted = c(estimate, nu.), true = c(th, nu, nu.)) # 拟合与真实值

3 从拟合的时间序列模型进行模拟


从拟合的copula 模型进行模拟。 

  1.  
    set.seed(271) # 可重复性
  2.  
    sapply(1:d, function(j) sqrt((nu[j]-2)/nu[j]) * qt(U[,j], df = nu[j]))
  3.  
    ## => 创新必须是标准化的garch()
  4.  
    sim(fit[[j]], n.sim = n, m.sim = 1,

并绘制出每个结果序列(XtXt)。 

  1.  
    apply(sim,fitted(x)) # 模拟序列
  2.  
    plot(X.., type = "l")


最受欢迎的见解

1.用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)的应用

2.R语言GARCH-DCC模型和DCC(MVT)建模估计

3.R语言实现 Copula 算法建模依赖性案例分析报告

4.R语言COPULAS和金融时间序列数据VaR分析

5.R语言多元COPULA GARCH 模型时间序列预测

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

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

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

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

▍关注我们 【大数据部落】第三方数据服务提供商,提供全面的统计分析与数据挖掘咨询服务,为客户定制个性化的数据解决方案与行业报告等。 ▍咨询链接:http://y0.cn/teradat ▍联系邮箱:3025393450@qq.com
原文地址:https://www.cnblogs.com/tecdat/p/15053943.html