错误在 fix.by(by.y, y) quantmod 函数错误
Error in fix.by(by.y, y) error in quantmod function
我正在尝试使用 quantmod 将数据拉入 r。我在使用“getQuote”函数时收到“fix.by(by.y, y) 中的错误:'by' 必须指定一个唯一有效的列”。
使用手写的多只股票列表 (tickers<-c("CCL","RCR","BA")
) 时,我没有收到此错误,但当我尝试使用从交易所提取的代码列表时,出现此错误。
有人知道解决办法吗?
谢谢
library(tidyquant) # edited to be included/ it is needed
library(quantmod)
AMEX <-
tq_exchange("AMEX")
tickers <- AMEX$symbol
key_metrics <- what_metrics <- yahooQF(c(
# source information
"Symbol",
"Name",
"Dividend Yield",
"Earnings/Share",
"P/E Ratio",
"trailingPE",
"quoteSourceName",
"Source Interval",
"Exchange Full Name",
"Exchange Data Delay",
"Currency"))
metrics <- getQuote(paste(tickers, sep="", collapse=";"), what=what_metrics)
#downloading set: 1 , 2 , ...done
#Error in fix.by(by.y, y) : 'by' must specify a uniquely valid column
问题是您有很多代码对 yahoo 无效。所有带“.”的代码或“^”不要 return 来自雅虎财经的数据。例如,您可以在雅虎财经网站上查看“BIOX.WS”。奇怪的是 json 调用不会 return 错误,因为雅虎不会生成错误但 return 是一个空列表。否则该函数会给出正确的错误响应,而不是您当前收到的错误。
如果删除这些代码,getQuote 函数将起作用。
# remove tickers which have . or ^ in the symbol
tickers <- AMEX$symbol[!grepl("\.|\^", AMEX$symbol)]
metrics <- getQuote(paste(tickers, collapse=";"), what=what_metrics)
我正在尝试使用 quantmod 将数据拉入 r。我在使用“getQuote”函数时收到“fix.by(by.y, y) 中的错误:'by' 必须指定一个唯一有效的列”。
使用手写的多只股票列表 (tickers<-c("CCL","RCR","BA")
) 时,我没有收到此错误,但当我尝试使用从交易所提取的代码列表时,出现此错误。
有人知道解决办法吗?
谢谢
library(tidyquant) # edited to be included/ it is needed
library(quantmod)
AMEX <-
tq_exchange("AMEX")
tickers <- AMEX$symbol
key_metrics <- what_metrics <- yahooQF(c(
# source information
"Symbol",
"Name",
"Dividend Yield",
"Earnings/Share",
"P/E Ratio",
"trailingPE",
"quoteSourceName",
"Source Interval",
"Exchange Full Name",
"Exchange Data Delay",
"Currency"))
metrics <- getQuote(paste(tickers, sep="", collapse=";"), what=what_metrics)
#downloading set: 1 , 2 , ...done
#Error in fix.by(by.y, y) : 'by' must specify a uniquely valid column
问题是您有很多代码对 yahoo 无效。所有带“.”的代码或“^”不要 return 来自雅虎财经的数据。例如,您可以在雅虎财经网站上查看“BIOX.WS”。奇怪的是 json 调用不会 return 错误,因为雅虎不会生成错误但 return 是一个空列表。否则该函数会给出正确的错误响应,而不是您当前收到的错误。
如果删除这些代码,getQuote 函数将起作用。
# remove tickers which have . or ^ in the symbol
tickers <- AMEX$symbol[!grepl("\.|\^", AMEX$symbol)]
metrics <- getQuote(paste(tickers, collapse=";"), what=what_metrics)