通过其回报向量连续计算初始投资

时间:2019-07-09 19:29:41

标签: r

我需要一些帮助来创建一个向量,其中包含每个时间点的投资价值。 想象一下,我将一只股票的回报率(以百分比为单位)返回到连续10个不同的月份。然后,我获得了100美元的初始价值,并连续将t周期的收益乘以t-1周期的投资价值。输出必须是矢量,因为我想绘制结果。 不幸的是,我不知道如何创建代码-可能是它的for循环?

每月收益:

c(-0.09, -0.11, -0.2, -0.45, -0.11, 0.2, -0.27, -0.15, -0.24, 
0.16)

投资价值分别

100 *(1 +(-0.09))= 91

91 *(1 +(-0,11))= 80,99 ...

所需的输出向量:

c(91, 80.99, 64.792, …)

我不太确定如何使用循环,函数或其他方法来计算此向量。 我很高兴获得任何帮助!干杯!

1 个答案:

答案 0 :(得分:0)

r <- c(-0.09, -0.11, -0.2, -0.45, -0.11, 0.2, -0.27, -0.15, -0.24, 
0.16)

100*cumprod(1 + r)
# [1] 91.00000 80.99000 64.79200 35.63560 31.71568 38.05882 27.78294 23.61550 17.94778 20.81942

Reduce(function(x, r) x*(1 + r), r, init = 100, accumulate = T)
#  [1] 100.00000  91.00000  80.99000  64.79200  35.63560  31.71568  38.05882  27.78294  23.61550
# [10]  17.94778  20.81942