我想使用季度回报从我的数据框架中计算滚动年化回报,然后向下移动到下一行,等等。即:
Date Q Return 1 year Return
30/09/2014 2% -
31/12/2014 4% -
31/03/2015 -6% -
30/06/2015 8% 7.69%
30/09/2015 3% 8.75%
31/12/2015 -2% 2.47%
…显然,使用Excel非常简单,但是我在python上挣扎了一点,以获得移动的年化回报。
谢谢你的帮助。
df.rolling(n).mean()
似乎是解决方案之一。
n
在本例中应为4。
但是,您应该将字符串(我的意思是2%
,它似乎是字符串)转换为浮点数。最后将NaN替换为您希望的-
,格式为pic。
希望有帮助。
太棒了。如果有人在看年度业绩,这只是为了将来的参考:
df['Annualised1Y'] = df['Q_Return'].rolling(4).apply(lambda x: ((np.prod(1+x)-1)*100))
或更长时间:
df['Annualised3Y'] = df['Q_Return'].rolling(12).apply(lambda x: ((np.prod(1+x)**(1/3)-1)*100))
希望这将有助于投资分析师在未来实现自动化的年化回报。