Tidy Finance Helper Functions.
tidyfinance
This repository contains an R package that collects helper functions for developers and researchers familiar with Tidy Finance with R. The functions provide shortcuts to selected issues that the book discusses in detail.
Installation
You can install the released version of tidyfinance
from CRAN via:
install.packages("tidyfinance")
You can install the development version of tidyfinance
from GitHub via:
# install.packages("pak")
pak::pak("tidy-finance/r-tidyfinance")
Usage
Download Data
The main functionality of the tidyfinance
package centers around data download. You can download most of the data that we used in Tidy Finance with R using the download_data()
function or its children. For instance, both functions give the same result:
download_data(
type = "factors_ff_3_monthly",
start_date = "2000-01-01",
end_date = "2020-12-31"
)
download_data_factors_ff(
type = "factors_ff_3_monthly",
start_date = "2000-01-01",
end_date = "2020-12-31"
)
You can also download data directly from WRDS (if you have set your credentials via Sys.setenv(WRDS_USER = "your_username", WRDS_PASSWORD = "your_password")
), e.g.,
download_data(
type = "wrds_compustat_annual",
start_date = "2000-01-01",
end_date = "2020-12-31"
)
If you want to fetch additional columns that are not included in our default selection, then pass them as additional arguments in the corresponding child function:
download_data_wrds_compustat(
type = "wrds_compustat_annual",
start_date = "2000-01-01",
end_date = "2020-12-31",
additional_columns = c("acoxar", "amc", "aldo")
)
You can get a list of all currently supported types via list_supported_types()
. Please open an issue on GitHub to request additional supported types.
Other Helpers
We include functions to check out content from tidy-finance.org:
list_tidy_finance_chapters()
open_tidy_finance_website()
There are also some simple helpers for regression analyses:
winsorize()
trim()
create_summary_statistics()
We also include (experimental) functions that can be used for different applications, but note that they might heavily change in future package versions as we try to make them more general:
# For portfolio sorts
?assign_portfolio()
# For model estimation
?estimate_model()
# For beta estimation
?estimate_betas()
# For beta estimation
?estimate_fama_macbeth()