对不起,Pandas刚来。我可以检查如何使用熊猫来获取年度平均回报率。 (请注意:否年度回报)我想为整个数据框计算
回报平均值:m =(1 / M *Σ)
M是观察次数(1日期= 1观察), r是每日收益
年平均日收益率=(1 + m)^ 365 -1
我已经使用.pctchange计算了每日收益
因此,给大家举个例子,跳过第一行的NaN。
从第二列开始,假设我从26日到30日进行了观测,因此计算公式为:
m =(1/3 *(0.007246 + 0.001199 + 0.006587))= 0.00501
年平均日收益率=(1 + 0.00501)^ 365 -1
公式在上方
对不起,我英语不好。
谢谢:)
答案 0 :(得分:2)
这可能对您有用。 分配日期时间索引,在一年中应用groupby函数并计算平均值:-) Groupby index
考虑的示例DataFrame
TP MENU SLY CZA
Time
2016-01-31 1.01 -0.33 -0.60 0.0
2016-01-30 0.32 0.06 0.16 0.0
2017-01-29 -1.19 -0.10 0.34 0.0
2017-01-28 -0.31 0.62 -0.20 0.0
2017-01-27 0.39 0.03 -0.43 0.0
2017-01-26 1.21 -0.54 -0.21 0.0
2018-07-25 -0.39 0.67 -0.11 0.0
2018-07-24 -0.27 0.00 0.11 0.0
代码段
df.index = pd.to_datetime(df.index)
df.groupby([df.index.year]).mean()
输出年均值
TP MENU SLY CZA
2016 0.665 -0.1350 -0.220 0.0
2017 0.025 0.0025 -0.125 0.0
2018 -0.330 0.3350 0.000 0.0