#' Prices Dataframe function
#'
#' Create dataframe of close prices from multiple .csv files downloaded from https://stooq.pl/ with function stooq_download()
#' @param files Vector of .csv file names
#' @param start_date Format 'yyyymmdd'. Default set to 20000101
#' @param end_date Format 'yyyymmdd'. Default set to 20211231
#' @param source Source folder of .csv files. Deafault is your current working directory
#'
#' @return Data frame of asset prices
#' @export
#'
#' @examples
#' files <- list.files('datasets\\')
#' close_prices <- df_prices(files = files
#' ,source = 'datasets\\')
df_prices <- function(files
,start_date = 20000101
,end_date = 20211231
,source){
file_format <- stringr::str_sub(files, -4, -1)
if(sum(file_format != '.csv') > 0){
stop('not all files are in .csv format')
}
results <- data.frame(Date = seq(lubridate::ymd(start_date)
,lubridate::ymd(end_date)
,by = 1))
for (i in 1:length(files)) {
file <- files[i]
if (missing(source)){
temp <- read.csv(file
,stringsAsFactors = FALSE)
} else{
temp <- read.csv(paste0(source
,file)
,stringsAsFactors = FALSE)
}
if ('Data' %in% colnames(temp)){
temp$Data <- as.Date(temp$Data)
}
if ('Zamkniecie' %in% colnames(temp)){
results <- dplyr::full_join(results
,dplyr::select(temp
,Data
,Zamkniecie)
,by = c('Date' = 'Data'))
}
colnames(results)[i+1] <- toupper(
stringr::str_split(files[i], '.csv')[[1]][1]
)
}
results <- na.omit(results)
return(results)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.