| French {NMOF} | R Documentation |
Download Datasets from Kenneth French's Data Library
Description
Download datasets from Kenneth French's Data Library.
Usage
French(dest.dir,
dataset = "F-F_Research_Data_Factors_CSV.zip",
weighting = "value", frequency = "monthly",
price.series = FALSE, na.rm = FALSE,
adjust.frequency = TRUE)
Arguments
dest.dir |
character: a path to a directory |
dataset |
a character string: the CSV file name. Also
supported are the keywords ‘ |
weighting |
a character string: |
frequency |
a character string: |
price.series |
logical: convert the returns series into prices series? |
na.rm |
logical: remove missing values in the calculation of price series? |
adjust.frequency |
logical: if |
Details
The function downloads data provided by Kenneth
French at
http://mba.tuck.dartmouth.edu/pages/faculty/ken.french/data_library.html.
The download file gets a date prefix (current date in
format YYYYMMDD) and is stored in directory
dest.dir. Before any download is attempted,
the function checks whether a file with today's
prefix exist in dest.dir; if yes, the file is
used.
In the original data files, missing values are
coded as -99 or similar. These
numeric values are replaced by NA.
Calling the function without any arguments will print the names of the supported datasets (and return them insivibly).
Value
A data.frame, with contents depending on the
particular dataset. If the download failes, the function
evaluates to NULL.
Author(s)
Enrico Schumann
References
Gilli, M., Maringer, D. and Schumann, E. (2019) Numerical Methods and Optimization in Finance. 2nd edition. Elsevier. doi:10.1016/C2017-0-01621-X
Schumann, E. (2023) Financial Optimisation with R (NMOF Manual). http://enricoschumann.net/NMOF.htm#NMOFmanual
See Also
Examples
## list all supported files
French()
## fetch names of files from Kenneth French's website
try({
txt <- readLines(paste0("https://mba.tuck.dartmouth.edu/pages/",
"faculty/ken.french/data_library.html"))
csv <- txt[grep("ftp/.*CSV.zip", txt, ignore.case = TRUE)]
gsub(".*ftp/(.*?CSV.zip).*", "\1", csv, ignore.case = TRUE)
})
## Not run:
archive.dir <- "~/Downloads/French"
if (!dir.exists(archive.dir))
dir.create(archive.dir)
French(archive.dir, "F-F_Research_Data_Factors_CSV.zip")
## End(Not run)