高效的Python / Pandas选择和排序

时间:2017-01-05 19:41:32

标签: python pandas

我和我的兄弟正在努力复制this paper的调查结果,他们使用每日历史股票价格以非常高的准确度预测未来价格。

他们使用来自中心的数据进行研究和安全价格,但我们正在使用来自quandl的数据,并且正在为我们的预处理运行时遇到麻烦。正如在论文中,对于每个股票代码和每一天,我们想要创建一个32个z分数的向量,将该股票代码的动量与市场的其他部分进行比较。作为一个中间步骤,他们为给定时间段内的每只股票创建了32个累积回报的向量(前12个月为12,前20天为20)。(该过程也在本文第2.2节中简要讨论过) )

由于数据量很大,我们在运行时只是创建这些累积返回向量时遇到问题。我们从1.7gb的csv导入数据并将其转换为Pandas数据帧。然后,我们编写了一个函数来获取给定的股票代码和日期并创建累积回报向量。我怀疑我们的问题在于我们如何从数据框中选择数据。 (具体以下几行[他们每个都不花费很多时间,但每个日期都需要多次运行])

prices = data[data.ticker == ticker_argument]

p = prices[prices.date == date_argument]

考虑到数据按自动收报机排序并且每个自动收报机的数据也按日期排序,最有效的方法是什么?我想你可以做一些二进制搜索来加速它的大部分,但是我应该用普通的python手工做,还是有更好的熊猫方法呢?任何帮助将不胜感激。

如果您想了解有关数据格式化方式的更多信息,则quandl csv位于http://www.jackmckeown.com/prices.csv

0 个答案:

没有答案