我有一个名为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
任何帮助非常感谢。谢谢你提前。
答案 0 :(得分:1)
它应该与函数lapply
:
lapply(AUM, monthlyReturn)
此命令将返回xts
个对象的列表。