如何使用哈希图/字典从数据框中获取值?更快地替代R中的for循环

里希·巴特(Rishi Bhatt)

我有数据框,其中包含当天选项的报价数据。我想评估每分钟每条股票的最大交易量。我正在使用for循环,但是由于我有3000多个代号和9600000多个交易,所以结果真的很慢。有没有什么方法可以使用map / dictionary / hash表从数据行中获取每个报价器的行值?

再次的目标是:当天期权的每个报价的每分钟最大交易量数据---> ticker --->分钟数据--->该分钟的最大交易量

给定:optionData作为带有日期,时间,tickerSymbols,TradeVolume,Delta,iVol等列的数据框

马洛尼帕特

确保安装并加载必要的软件包。如果已经安装,则不必担心运行install.pacakges线路。在此示例中已将其注释掉。

#install.packages(c('dplyr', 'lubridate'))
library(dplyr)
library(lubridate)

因此,如果您的时间变量比分钟更精细,则应该可以解决问题。(例如,包括秒等)

optionData %>%
  mutate(minute = minute(time),
         hour = hour(time)) %>%
  group_by(tickerSymbols, date, hour, minute) %>%
  filter(TradeVolume == max(TradeVolume))

如果您的时间变量已经代表分钟了,那么这应该可以解决问题。

optionData %>%
  group_by(tickerSymbols, date, time) %>%
  filter(TradeVolume == max(TradeVolume))

这两个答案都假设这TradeVolume是我们可以找到您要寻找的最大交易的地方。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章