我希望主题行相对清晰。我正在使用 python/pandas,并且正在处理股票的每日定价数据。我有一个包含 4000 多个符号数据的大型 csv 文件,其中包含大约 100 天的数据。所以有很多重复的日期和符号值,但符号/日期组合是唯一的。对于多个滞后(班次)日期,我正在尝试获取每个代码/日期组合的百分比变化。在一个符号的数据集上,这很简单
(dataframe.Close - dataframe.Close.shift(1)) / dataframe.shift(1).
这是初始数据的示例:
TradeDate Symbol Close
1/1/2014 A 10.00
1/2/2014 A 11.00
1/3/2014 A 10.50
1/1/2014 B 2.00
1/2/2014 B 2.10
1/3/2014 B 2.05
我想要得到的输出是:
TradeDate Symbol Perf1 Perf2
1/1/2014 A NA NA
1/2/2014 A 0.10 NA
1/3/2014 A -0.045 0.05
1/1/2014 B NA NA
1/2/2014 B 0.05 NA
1/3/2014 B -0.024 0.025
我是 pandas 的新手,我一直在网上搜索类似的示例或更一般的处理方法,将矢量化函数应用于 pandas 中的组。我运气不太好;我尝试了更传统的方法,循环遍历一个独特的代码列表,单独计算性能百分比,将它们组合成一个数据框,然后将其附加到一个“主”数据框。它有效,但需要 20 多分钟(而且非常笨拙)。我确信有更好的方法。但我还不知道如何询问具体的功能细节。
任何人都可以帮忙吗?谢谢...