程式

如何從 Python 中的累積收益中計算收益?

  • July 28, 2020

如果 X 是 $ T\times N $ 多元資產收益的 pandas DataFrame,累積收益可以在 python 中計算為

(1 + X) .cumprod () - 1

如何反轉此操作,以便從累積收益倒退到原始收益矩陣 X?

DataFramedf有我組成的一些隨機返回:

import pandas as pd
df = pd.DataFrame({'rets': (.5, .5, .4, .3)})

添加cum_rets欄目:

df['cum_rets'] = (1 + df['rets']).cumprod() - 1

添加inv_cum_rets列:

df['inv_cum_rets'] = ((1 + df['cum_rets']) / (1 + df['rets'])) - 1

如果您希望它與原始退貨對齊,只需將其向上移動 1 行

編輯:

如果您錯過了原始退貨並想從中退回,cum_rets您可以使用以下方法:

df['rets_missing'] = (1 + df['cum_rets']) / (1 + df['cum_rets'].shift(1)) - 1

引用自:https://quant.stackexchange.com/questions/55959