我需要一些帮助来创建一个向量,其中包含每个时间点的投资价值。 想象一下,我将一只股票的回报率(以百分比为单位)返回到连续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, …)
我不太确定如何使用循环,函数或其他方法来计算此向量。 我很高兴获得任何帮助!干杯!
答案 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