Skip to main content
 首页 » 编程设计

python pandas 投资组合返回

2025年05月04日22小虾米

我有一个包含市场数据的数据框和一个专用于每日返回的列。 我很难创建一个以 100,000.00 美元的值(value)开始的投资组合,并计算其在数据系列生命周期内的累计返回。

理想情况下,我想使用 pandas 计算“投资组合”列,但我在这样做时遇到了问题。请参阅下面的目标输出。谢谢。

index    date      index  return  portfolio 
0        19900101  2000   Nan     100000.00 
1        19900102  2002   0.001   100100.00 
2        19900103  2020   0.00899 100999.90  
3        19900104  2001  -0.00941 100049.49 

请您参考如下方法:

通过使用cumprod

df['P']=df['return'].add(1).fillna(1).cumprod()*100000 
df 
Out[843]:  
   index      date  index.1   return  portfolio             P 
0      0  19900101     2000      NaN  100000.00  100000.00000 
1      1  19900102     2002  0.00100  100100.00  100100.00000 
2      2  19900103     2020  0.00899  100999.90  100999.89900 
3      3  19900104     2001 -0.00941  100049.49  100049.48995 

一些调整:

df=df.replace('Nan',np.nan) 
df['return']=pd.to_numeric(df['return'])