Pandas投资组合周转率

2024-10-02 02:26:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想计算月度再平衡投资组合的投资组合周转率,如下所示:

df = pd.DataFrame({'Date': ['6/30/2015','6/30/2015','6/30/2015','7/30/2015','7/30/2015','7/30/2015'],'Ticker': ['AAPL','MSFT','IBM','AAPL','MSFT','AMZN']})
df['Date']=pd.to_datetime(df['Date'])

特别是,我想知道每个月投资组合中有多少头寸被替换。因此7月份的数据应该是1/3,因为IBM被AMZN取代了


Tags: todataframedfdatetimedateibmpdticker
1条回答
网友
1楼 · 发布于 2024-10-02 02:26:57

您可以透视并使用shift来比较:

pivoted = df.assign(rank=df.groupby('Date').cumcount()).pivot('Date','rank','Ticker')

(pivoted!=pivoted.shift()).sum(1)/pivoted.shape[1]

输出:

Date
2015-06-30    1.000000
2015-07-30    0.333333
dtype: float64

相关问题 更多 >

    热门问题