Pandas多种证券的回报流

2024-04-19 13:26:18 发布

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

假设我有一张这样的桌子:

    Ticker Date       ClosingPrice
0    A     01-02-2010  11.4
1    A     01-03-2010  11.5
           ...
1000 AAPL  01-02-2010  634
1001 AAPL  01-02-2010  635

所以,换句话说,我们有一个时间序列序列拼接在一起,每个股票代码一个。现在,我想生成一列每日回报。如果我只有一个符号,那么使用pandas pct_change()函数就很容易了,但是我如何对多个时间序列执行上述操作(我可以执行一系列groupby,将每个groupby作为一个数据帧,执行返回计算,然后用pd.concat()将它们拼接在一起),但这似乎不是最优的。你知道吗


Tags: 数据函数pandasdate时间符号序列change
1条回答
网友
1楼 · 发布于 2024-04-19 13:26:18

使用groupby

df.set_index(['Ticker', 'Date']).ClosingPrice.groupby(level=0).pct_change()

Ticker  Date      
A       01-02-2010         NaN
        01-03-2010    0.008772
AAPL    01-02-2010         NaN
        01-02-2010    0.001577
Name: ClosingPrice, dtype: float64

相关问题 更多 >