我有这个数据框
Poloniex_DOGE_BTC Poloniex_XMR_BTC Daily_rets perc_ret
172 0.006085 -0.000839 0.003309 0
173 0.006229 0.002111 0.005135 0
174 0.000000 -0.001651 0.004203 0
175 0.000000 0.007743 0.005313 0
176 0.000000 -0.001013 -0.003466 0
177 0.000000 -0.000550 0.000772 0
178 0.000000 -0.009864 0.001764 0
我正在试着在perc里做一个每日记录
但是,我的代码只复制每日更新的值
df['perc_ret'] = ( df['Daily_rets'] + df['perc_ret'].shift(1) )
Poloniex_DOGE_BTC Poloniex_XMR_BTC Daily_rets perc_ret
172 0.006085 -0.000839 0.003309 NaN
173 0.006229 0.002111 0.005135 0.005135
174 0.000000 -0.001651 0.004203 0.004203
175 0.000000 0.007743 0.005313 0.005313
176 0.000000 -0.001013 -0.003466 -0.003466
177 0.000000 -0.000550 0.000772 0.000772
178 0.000000 -0.009864 0.001764 0.001764
如果它们是每日简单回报,而您想要累积回报,那么您肯定需要每日复合数字?
如果它们是日志返回,那么可以使用
cumsum
。如果性能很重要,请使用^{} :
计时:
你不能简单地用cumsum把它们加起来
例如,如果你有数组[1.1,1.1],你应该有2.21,而不是2.2
相关问题 更多 >
编程相关推荐