С помощью сообщества я создал код для загрузки нескольких тикеров из списка файлов .csv и создания функции ежедневного диапазона для всех них.Теперь я хотел бы создать аналогичную функцию для расчета ежедневного процентного изменения (%) каждого тикера и применить ко всем из них.
Вот мой подход:
Загрузить список тикеров изCSV-файл, создайте список со всеми из них.
library(quantmod)
Tickers <- read.csv("nasdaq_tickers_list.csv", stringsAsFactors = FALSE)
getSymbols(Tickers$Tickers,from="2018-01-01", src="yahoo" )
stock_data = sapply(.GlobalEnv, is.xts)
all_stocks <- do.call(list, mget(names(stock_data)[stock_data]))
Функция процента?
Percentage <- function(x) {
stock_name <- stringi::stri_extract(names(x)[1], regex = "^[A-Z]+")
stock_name <- paste0(stock_name, ".percentage")
column_names <- c(names(x), stock_name)
x$percentage <- quantmod::Close(today) - quantmod::Close(yesterday)/100
x <- setNames(x, column_names)
return(x)
}
рассчитать проценты и добавить их к данным
all_stocks <- lapply(all_stocks, percentage_change)
Любая помощь о том, как создать функцию%?
Большое спасибо.