在我的第一篇文章中,我想分享我的宠物项目。我正在制定一种可以为证券分配买/卖/持仓的机器学习算法。该项目的第一步是建立包含证券基本信息以及相关预测指标的数据框。我正在使用rvest从两个提供股票信息的不同网站上收集数据。下面是我的代码:
#load all variables of interest
for(i in 1:nrow(stockdata)){
#price
url <- paste0('https://www.nasdaq.com/symbol/',tolower(stockdata[,1][i]),
sep="")
html <- read_html(url)
#Select the text I want
Price <- html_nodes(html,'#qwidget_lastsale')
stockdata$Price[i] <- html_text(Price)
#price change percentage
url <- paste0('https://finviz.com/quote.ashx?t=',stockdata[,1][i], sep="")
html <- read_html(url)
#Select the text I want
change <- html_nodes(html,'.table-dark-row:nth-child(12) .snapshot-td2:nth-
child(12) b')
stockdata$PriceChange[i] <- html_text(change)
}
我已经截断了代码,但是上面的方法可以提取数据。不幸的是,这个过程非常缓慢。我还有更多变量要拉,每个变量都会越来越慢。我对矢量化的知识非常适合加速该过程,但不确定如何应用。我们将不胜感激任何使该过程更快地执行的技巧,或对一般更快的迭代技巧的了解。