【问题标题】:Time Series Covariance Matrix for multiple variables - R多个变量的时间序列协方差矩阵 - R
【发布时间】:2018-05-03 07:52:16
【问题描述】:

我想为蒙特卡罗模拟创建时间序列数据的协方差矩阵,但是该矩阵位于多个资产之间。

即我不仅想知道 X(t), X(t+1), ... , X(t+n) 之间的协方差,还想知道 X(t), Y(t), Y(t+) 之间的协方差1)等。

是否有一种简单的方法可以在 R 中生成协方差矩阵,即数据帧中每个元素之间的协方差?

谢谢

【问题讨论】:

    标签: r covariance


    【解决方案1】:

    这会产生高达nl 滞后的协方差:

    set.seed(123)
    c1 <- data.frame(matrix(rnorm(90),ncol=3))
    nl=2 # number of lags
    c1wlags=embed(as.matrix(c1),nl+1)
    nams=colnames(c1)
    ndfs=paste(rep(nams,nl),rep(1:nl,each=ncol(c1)),sep="t-")
    colnames(c1wlags)=c(nams,ndfs)
    cov(c1wlags)
    
    
    > cov(c1wlags)
                   X1          X2           X3       X1t-1       X2t-1        X3t-1       X1t-2       X2t-2       X3t-2
    X1     1.02206766 -0.13725252  0.153975857 -0.04152948  0.02664973 -0.123077418 -0.16800464  0.26851379 -0.25855822
    X2    -0.13725252  0.73845275 -0.213758648  0.09490394 -0.11391726 -0.032365562  0.01863737  0.02661447 -0.11817727
    X3     0.15397586 -0.21375865  0.797592802 -0.44057820  0.05532353 -0.007062553 -0.15315625  0.24462652 -0.19898668
    X1t-1 -0.04152948  0.09490394 -0.440578196  0.96044907 -0.13594448  0.101988693  0.01357564  0.02734684 -0.11077465
    X2t-1  0.02664973 -0.11391726  0.055323528 -0.13594448  0.74666015 -0.206596930  0.10511073 -0.11827071 -0.03883939
    X3t-1 -0.12307742 -0.03236556 -0.007062553  0.10198869 -0.20659693  0.758188218 -0.38571731  0.05271998 -0.00125309
    X1t-2 -0.16800464  0.01863737 -0.153156254  0.01357564  0.10511073 -0.385717313  0.92688519 -0.14256158  0.08240385
    X2t-2  0.26851379  0.02661447  0.244626522  0.02734684 -0.11827071  0.052719977 -0.14256158  0.74893806 -0.20346301
    X3t-2 -0.25855822 -0.11817727 -0.198986683 -0.11077465 -0.03883939 -0.001253090  0.08240385 -0.20346301  0.76041872
    

    【讨论】:

    • 这太好了,谢谢。我已经在线阅读了一些文档,但似乎找不到关于 embed 功能的明确解释?我可以看到它如何移动与 c1 矩阵相关的变量,但我不清楚这里的逻辑。
    • embed() 生成一个包含 M 列的矩阵,其中包含原始序列及其滞后版本,每个新列都是前列的滞后 1 版本。由于序列自身滞后而出现的不完整行将被丢弃。
    猜你喜欢
    • 2021-10-16
    • 1970-01-01
    • 2020-02-14
    • 2022-01-04
    • 2018-11-10
    • 2019-04-15
    • 2011-08-15
    • 2013-02-01
    • 2015-07-08
    相关资源
    最近更新 更多