我有一个股票的xts对象。现在我已使用quantmod::dailyReturn()
函数添加了每日回报。我现在想要添加累积产品列,但由于我的数据集的某些返回天数将为0,累积产品必须跳过这些行,如何才能有效地实现这一目标?
我最好不要切片数据或过滤数据。
我的数据
dailyChange Return
2009-06-02 -0.027295285 -0.027295285
2009-06-03 -0.012755102 -0.012755102
2009-06-04 0.012919897 0.012919897
2009-06-05 0.022959184 0.022959184
2009-06-08 -0.007481297 -0.007481297
2009-06-09 0.027638191 0.027638191
2009-06-10 0.012224939 0.012224939
2009-06-11 0.043478261 0.043478261
2009-06-12 0.011574074 0.011574074
2009-06-15 -0.048054920 -0.048054920
2009-06-16 -0.012019231 -0.012019231
2009-06-17 -0.036496350 -0.036496350
2009-06-18 0.010101010 0.010101010
2009-06-19 0.000000000 0.000000000
2009-06-22 -0.055000000 0.000000000
2009-06-23 0.031746032 0.000000000
2009-06-24 0.046153846 0.046153846
2009-06-25 0.009803922 0.009803922
答案 0 :(得分:0)
尝试
xt1$CumProd <-0
xt1$CumProd[xt1[,2]!=0] <- cumprod(xt1[,2][xt1[,2]!=0])