如何解决拉多个股票行情时出现getSplitsQuantmod错误
当尝试在所有S&P 500代码上运行getSplits函数时,我收到以下错误“ open.connection(file,“ rt”)中的错误:HTTP错误404)“
如果我对提供的报价进行了子集化并且仅运行了其中一部分,则能够运行该功能。有没有办法写一行代码来绕过任何可能导致HTTP错误的代码?
library(tidyverse)
library(BatchGetSymbols)
library(quantmod)
tickers <- GetSP500Stocks()
split_env <- lapply(tickers,function(x) getSplits(x))
解决方法
您可以使用try()
来防止其损坏:
library(tidyverse)
library(BatchGetSymbols)
library(quantmod)
tickers <- GetSP500Stocks()[1:20,]
split_env = lapply(tickers$Tickers,function(x)try(getSplits(x)))
names(split_env) = tickers$Tickers
如果我没记错的话,你可以得到没有错误的
head(split_env[sapply(split_env,is.xts)])
$MMM
MMM.spl
1972-06-16 0.5
1987-06-16 0.5
1994-04-11 0.5
2003-09-30 0.5
$ABT
ABT.spl
1981-06-01 0.5000
1986-06-02 0.5000
1990-06-01 0.5000
1992-06-01 0.5000
1998-06-01 0.5000
2004-05-03 0.9356
2013-01-02 0.4798
$ABMD
ABMD.spl
2000-10-02 0.5
$ACN
ACN.spl
2011-12-30 0.1
$ATVI
ATVI.spl
2001-11-21 0.6666667
2003-06-09 0.6666667
2004-03-16 0.6666667
2005-03-23 0.7500000
2005-10-25 0.7500000
2008-09-08 0.5000000
$ADBE
ADBE.spl
1987-03-12 0.5
1988-11-23 0.5
1993-08-11 0.5
1997-07-29 1.0
1997-10-29 1.0
1999-10-27 0.5
2000-10-25 0.5
2005-05-24 0.5
,
向前安装Quantmod v。0.4.17.2; CRAN还没有此版本,因此请直接从github安装im2("js/image2.jpg","position: fixed; top:210px ; left:165px","280","35",'article2');
由于新版本可以处理多个连接和句柄(请检查this),因此您需要使用此版本将多个请求推送到yahoo。
以下功能使用多个内核。因此,如果需要,可以将devtools::install_github("joshuaulrich/quantmod")
替换为%dopar%
。
%do%
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。