С помощью сообщества я создал код для загрузки нескольких тикеров из списка файлов .csv.
Следующим моим шагом будет создание столбца с квартильным рангом для данных тома.Что не так в моем подходе?
Вот мой подход:
Загрузите мой список тикеров из файла .csv, создайте список со всеми из них.
library(quantmod)
Tickers <- read.csv("nasdaq_tickers_list.csv", stringsAsFactors = FALSE)
getSymbols(Tickers$Tickers,from="2018-08-01", src="yahoo" )
stock_data = sapply(.GlobalEnv, is.xts)
all_stocks <- do.call(list, mget(names(stock_data)[stock_data]))
Функция, чтобы получить данные столбца объема в Quartile Rank?Что не так?
Volume_q_rank <- function(x) {
stock_name <- stringi::stri_extract(names(x)[1], regex = "^[A-Z]+")
stock_name <- paste0(stock_name, ".Volqrank")
column_names <- c(names(x), stock_name)
x$volqrank <-as.integer(cut(quantmod::Vo(x),
quantile(x,probs=0:4/4),include.lowest=TRUE))
}
рассчитать квартильный ранг для столбца объема запасов и добавить их к данным
all_stocks <- lapply(all_stocks, Volume_q_rank)
Что не так в моей функции?
Когда яЗапустив функцию я получаю следующую ошибку:
Error in quantile.default(coredata(x), ...) :
missing values and NaN's not allowed if 'na.rm' is FALSE
Спасибо за любой ввод.