在 quantmod 中使用 getSymbols() 时出错
Error using getSymbols() in quantmod
我正在尝试从纽约证券交易所随机 select 50 只股票,然后获取它们的代码。此代码:
require(quantmod)
NYstocks<-stockSymbols(exchange="NYSE")
NYsymbols<-NYstocks[["Symbol"]]
my_portfolio<-sample(NYsymbols, 50, replace = FALSE)
date_begin <- as.Date("2014-02-18")
date_end <- as.Date("2016-02-18")
tickers <- getSymbols(my_portfolio, from = date_begin, to = date_end)
得到错误
Error in read.table(file = file, header = header, sep = sep, quote = quote, :
more columns than column names
my_portfolio
是一个字符向量,所以我很难弄清楚列和列名的含义。我试过使用 src="google"
并得到了
Error in colnames<-
(*tmp*
, value = c("AIW.Open", "AIW.High", "AIW.Low", :
length of 'dimnames' [2] not equal to array extent
感谢您的帮助!
正如 ?stockSymbols
中的 注 所说:
The symbols returned by stockSymbols
may not be in the format necessary to retrieve data using getYahooData
.
请注意 TTR::getYahooData
从 Yahoo Finance 下载数据,就像 getSymbols.yahoo
。
在使用使用随机数生成器的函数(即 sample
)时,您还应该使用 set.seed
,这样您的示例就可以重现了。
还有几件事要记住:
- Yahoo Finance、Google Finance 等不一定提供所有工具的历史数据。
stockSymbols
返回的工具不一定是股票。它们可以是 ETF、ETN 等的代码
还有其他 question/answers 关于如何使用 try
或 tryCatch
来捕获由于站点不提供历史数据而可能发生的错误。
我正在尝试从纽约证券交易所随机 select 50 只股票,然后获取它们的代码。此代码:
require(quantmod)
NYstocks<-stockSymbols(exchange="NYSE")
NYsymbols<-NYstocks[["Symbol"]]
my_portfolio<-sample(NYsymbols, 50, replace = FALSE)
date_begin <- as.Date("2014-02-18")
date_end <- as.Date("2016-02-18")
tickers <- getSymbols(my_portfolio, from = date_begin, to = date_end)
得到错误
Error in read.table(file = file, header = header, sep = sep, quote = quote, : more columns than column names
my_portfolio
是一个字符向量,所以我很难弄清楚列和列名的含义。我试过使用 src="google"
并得到了
Error in
colnames<-
(*tmp*
, value = c("AIW.Open", "AIW.High", "AIW.Low", : length of 'dimnames' [2] not equal to array extent
感谢您的帮助!
正如 ?stockSymbols
中的 注 所说:
The symbols returned by
stockSymbols
may not be in the format necessary to retrieve data usinggetYahooData
.
请注意 TTR::getYahooData
从 Yahoo Finance 下载数据,就像 getSymbols.yahoo
。
在使用使用随机数生成器的函数(即 sample
)时,您还应该使用 set.seed
,这样您的示例就可以重现了。
还有几件事要记住:
- Yahoo Finance、Google Finance 等不一定提供所有工具的历史数据。
stockSymbols
返回的工具不一定是股票。它们可以是 ETF、ETN 等的代码
还有其他 question/answers 关于如何使用 try
或 tryCatch
来捕获由于站点不提供历史数据而可能发生的错误。