每月返回多变量XTS

时间:2012-10-26 06:55:33

标签: r xts quantmod

我有一个名为AUM的XTS有5列

head(AUM)
             FXI.Adjusted X2823.HK.Adjusted HSCE.Adjusted X3049.HK.Adjusted HSI.Adjusted
2010-04-08     100.0000          100.0000      100.0000          100.0000     100.0000
2010-04-09     100.9009          100.9009      100.9009          100.9009     100.9009
2010-04-12     100.4474          100.6022      100.1916          100.1448     100.0890
2010-04-13     101.7668          101.8123      101.6008          101.4299     101.4111
2010-04-14     102.1177          102.3792      101.9873          101.7272     101.7813
2010-04-15     102.0445          102.1387      101.7266          101.5462     101.4893

我想计算每列的月度回报。我可以通过调用monthlyReturn(AUM[,1])为一列执行此操作,但我无法计算所有五列的月度返回值并返回多变量XTS。

我试过这个apply(AUM, 2, monthlyReturn),但我收到了错误

Error in array(r, dim = d, dimnames = if (!(is.null(n1 <- names(x[[1L]])) &  : 
  length of 'dimnames' [1] not equal to array extent

任何帮助非常感谢。谢谢你提前。

1 个答案:

答案 0 :(得分:1)

它应该与函数lapply

一起使用
lapply(AUM, monthlyReturn)

此命令将返回xts个对象的列表。