我对 pandas 很陌生,我正在尝试通过查找周一到周五每天的 (1 + return) 的乘积,将每日股票收益转换为每周股票收益。
这是我到目前为止所拥有的示例(数据只是一个示例,不是真实的数字):
In[1]: df
In [2]:
Date AAPL NFLX INTC
2019-09-09 0.01 0.0012 0.00873
2019-09-10 0.014 0.0074 0.0837738
2019-09-11 0.0123 0.007123 0.09383
2019-09-12 0.0028 0.07234 0.0484
2019-09-13 0.00172 0.8427 0.09484
我的数据集比我展示的要大得多。但本质上我只想找到连续周一到周五的 (1+return) 的乘积。
理想的输出是一个以周五为索引的数据框,然后在股票代码下显示每周回报值
下面的代码行应该可以做到这一点:
(1+df).resample('W-FRI').prod()-1
上面的代码行所做的是将(1 + 每日回报)(查看 pandas 重新采样文档以获取更多信息)重新采样为每周频率,并将星期五设置为重新采样日(“W-FRI”)。最后,当执行每周重采样时,prod() 会乘以(1 + 每日收益)以返回每周的累积收益。
我有一个不同的问题。假设在上面的示例中,我想计算运行的每周回报,而不是周末回报,并且在每周开始时回报设置为 1.0。我该怎么做?