假设投资组合中有两个资产:资产1,资产2,以及对资产1的三个不同比例的投资回报率有4个观察值。
x <- c(0.1, 0.4, 0.8) # investment weight for asset1
l <- list(a=1:4, b=3:7, c=5:9) # excess (portfolio) return per x
# just made up
由此可以计算出超额收益指数g(t为时间:1,..,T):
g1 = 100 enter code here
gt = g(t-1)*(1 +超额收益(t))
我必须让一个函数计算每重量x的超额收益指数g。 我所做的是:
l2<-lapply(l, function(x) x+1)
l3 <- vector("list", 3)
g<-c(100)
for(i in 1:3){
for(j in 1:3){
k<-2
while(k<-4){
g<-c(g, (g[k]*l2[[i]][j]))
l3[[i]]<- g
k<-k+1
}
}
}
我需要使用算法来代替这些繁重的循环。我什至无法仅针对笔记本电脑上的这些小数据获得解决方案。我需要为每x的每种情况计算一个g值,以便最终通过该值(gT / g1)计算投资组合中每个不同比例的复合年增长率CAGR。有什么方法可以使此计算更简单可行吗?
提前谢谢大家。