在R中构造动态邻接矩阵

丹尼斯

我正在使用动态条件相关来构造动态邻接矩阵。使用DCC,我计算了R中的动态相关性。数据(R)是金融机构2004-2017年的每日股票收益。这是产生动态相关的完整代码。

spec=ugarchspec(mean.model=list(armaOrder=c(1,1)),variance.model=list(garchOrder=c(1,1), model="gjrGARCH", variance.targeting=TRUE))
spec = multispec(replicate(m, spec))

mspec=dccspec(uspec = spec)
fit = dccfit(mspec, dat=R, solver=c("solnp","solnp"), solver.control=list(trace=1))
rR = rcor(fit)

现在,我想在每个时间段编译动态邻接矩阵。使用下面的代码,我可以一次计算邻接矩阵,但不能动态计算。

adjacency=rcor(fit, type="R")[,,'2015-01-02']
dim(adjacency)

任何人都可以提出建议或让我知道是否有这样做的包裹吗?

数据如下:

> head(R)
              ACAS    AET   AFL      AIG   AIZ   ALL  AMTD   AON     AXP    BAC   BBT     BEN      BK   BLK  BRKB     C    CB     CI    CINF   CMA
2004-02-09 24.2511 17.783 40.11 1203.455 24.47 46.31 16.74 24.80 46.4897 40.840 37.00 18.9467 33.3793 59.22 60.24 491.5 44.58 18.283 39.7279 56.59
2004-02-10 24.2061 18.013 40.62 1231.435 24.35 46.64 16.40 24.92 46.2622 40.810 37.41 18.9667 33.7821 59.85 61.24 489.2 44.35 18.100 39.9637 56.70
2004-02-11 24.8816 17.900 40.70 1245.676 24.25 47.04 16.93 25.37 47.0150 40.995 37.50 19.6567 33.7821 60.00 61.14 497.4 44.67 18.077 39.7370 57.98
2004-02-12 25.0693 18.700 40.43 1255.058 24.68 46.57 16.81 25.74 46.6998 40.825 37.44 19.5300 34.2379 59.55 61.20 495.1 45.08 17.830 39.6825 57.64
2004-02-13 25.4746 19.375 40.26 1251.875 24.70 46.73 16.72 25.79 46.9624 40.785 37.37 19.4833 34.5453 58.74 61.27 494.9 45.14 17.683 39.4104 57.58
2004-02-17 26.0450 19.705 41.17 1258.577 24.60 46.65 17.17 26.27 46.9887 40.930 37.58 19.7633 34.8209 59.89 61.44 499.0 44.80 18.170 39.9002 57.58

您可以创建一个循环,尝试以下操作:

for (i in 1:2954){
  assign(paste("mat", i, sep=""), rcor(fit,type="R")[,,i])
} 

2954是指您要创建的时间段。您可以根据需要进行调整。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章