Other Data Providers
WRDS is not the only source, and for many questions free or low-cost providers suffice. This short chapter surveys alternatives and shows how to bring them into the same tidy workflow. Use the R | Python toggle to switch.
Free and low-cost sources
Public APIs supply daily prices and dividends (e.g. Yahoo Finance), exchange and interest rates, and a wide range of macroeconomic indicators from central banks and statistical agencies (e.g. FRED). For prototyping or teaching, these often substitute for proprietary feeds. The tidyfinance package wraps several behind the same download_data interface.
download_data(
type = "stock_prices",
symbols = c("AAPL", "MSFT"),
start_date = "2020-01-01",
end_date = "2023-12-31"
)
download_data(type = "fred", series = c("GDP", "CPIAUCNS"))
tf.download_data(
domain="stock_prices",
symbols=["AAPL", "MSFT"],
start_date="2020-01-01",
end_date="2023-12-31"
)
tf.download_data(domain="fred", series=["GDP", "CPIAUCNS"])
Trade-offs
Free data comes with caveats: shorter or less reliable history, survivorship issues (delisted firms quietly disappear), and looser quality control. Knowing a source's coverage and biases is part of using it responsibly — a backtest on survivor-only data flatters every strategy.
One workflow
Whatever the source, the goal is the same: pull it with a scripted call, reshape it into a tidy table with consistent keys (identifier and date), and store it alongside everything else. Once standardized, an alternative source slots into the analysis exactly like CRSP or Compustat would.
Study notes following the Tidy Finance curriculum by Scheuch, Voigt, Weiss, and Frey. Prose is my own; the R/Python code is reproduced from the book's open-source source, licensed CC BY-NC-SA 4.0.