我试图编写一个函数来计算累积指数回报,其中计算将是xts对象中的当前观察/第一个观察。 这是我的代码示例:
cumret <- function(x){
cum <- rep(0,nrow(x))
for (i in 1:nrow(x)) {
cum[i,] <-x[i,]/x[1,]
}
cumret <- cum
return(cumret)
}
然后,当尝试时,显示此错误: "矩阵上的下标数量不正确">
作为输入数据,我使用了例如
Prices <- c(23,23.5,24,24.3,24.6,25)
我想创建一个累积回报的向量,Cum.Ret <- Price[i,] / as.numeric(Prices[1,])
希望你能帮助我,提前谢谢。
一个选项是除以第一个元素,然后取cumsum
cumsum(Prices/Prices[1])
数据
Prices <- c(23,23.5,24,24.3,24.6,25)