【问题标题】:R PerformanceAnalytics CoVariance function merge.zoo errorR PerformanceAnalytics CoVariance 函数 merge.zoo 错误
【发布时间】:2020-02-11 19:15:42
【问题描述】:

我正在尝试计算数据框上的 CoVariance:

cov_test

返回看起来像这样:

             A          B         C

28/02/1999 -0.018816 -0.011451 -0.026870

1999 年 3 月 31 日 0.004001 0.006580 0.002293

我得到的错误:

merge.zoo(e1, e2, all = FALSE, retclass= NULL) 中的错误: 系列不能与系列中的非唯一索引条目合并 另外:警告信息: 1:在动物园(cd,order.by = index(x),...): 如果“order.by”中的索引条目不是唯一的,则“zoo”对象的某些方法不起作用 2:在动物园(rval,索引(x)[i]): 如果“order.by”中的索引条目不是唯一的,则“zoo”对象的某些方法不起作用 3:在动物园(rval,索引(x)[i]): 如果“order.by”中的索引条目不是唯一的,则“zoo”对象的某些方法不起作用 4:在动物园中(cd,order.by = index(x),...): 如果“order.by”中的索引条目不是唯一的,则“zoo”对象的某些方法不起作用 5:在动物园(rval,索引(x)[i]): 如果“order.by”中的索引条目不是唯一的,则“zoo”对象的某些方法不起作用 6:在动物园(rval,索引(x)[i]): 如果“order.by”中的索引条目不是唯一的,则“zoo”对象的某些方法不起作用

但是,当我在 R 中使用简单的 cov 函数时,它工作得很好......

谁能告诉我可能是什么问题?我用 anyDuplicated(returns) 检查了重复的行,它返回了 0。另外,从广义上讲,PerformanceAnalytics 的 CoVariance 函数和简单的 cov 函数之间的主要区别是什么?谢谢。

【问题讨论】:

    标签: r performanceanalytics


    【解决方案1】:

    这适用于 R 3.6.1 和 PerformanceAnalytics 1.5.3 和 zoo 1.8-6:

    library(PerformanceAnalytics)
    returns <- data.frame(dt = as.Date(c('1999/02/28', '1999/03/31')), A=c(-0.018816, 0.004001), B=c(-0.011451, 0.006580), C=c(-0.02687, 0.002293))
    
    z <- zoo(returns[,-1], returns[,1])
    CoVariance(z,z)
                             A            B            C
    Covariance: A 0.0001301539 1.028533e-04 0.0001663530
    Covariance: B 0.0001028533 8.127924e-05 0.0001314595
    Covariance: C 0.0001663530 1.314595e-04 0.0002126201
    

    也许您的动物园对象没有有序索引?在构建 zoo 对象时检查日期格式。

    【讨论】:

      猜你喜欢
      • 2012-11-20
      • 2013-10-12
      • 2017-11-28
      • 2015-05-29
      • 2018-02-20
      • 2015-11-17
      • 1970-01-01
      • 2014-05-08
      • 2017-12-20
      相关资源
      最近更新 更多