r语言 - 用于创建累积回报指数的函数



我试图编写一个函数来计算累积指数回报,其中计算将是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)

最新更新