Skip to content
davidrpugh edited this page Feb 16, 2013 · 4 revisions

The World Bank has an excellent web API that can be accessed and converted into a Pandas Dataframe using the wbdata library.

The St. Louis Federal Reserve's FRED database is currently available via the pandas.io.data.DataReader module.

Financial data from Yahoo!Finance is currently available via is currently available via the pandas.io.data.DataReader module.

Unfortunately, Google Finance has discontinued their Finance web API. However, I came across this blog post describing how to download high-frequency (down to minute frequency) data from Google Finance.

  • Small project: write a Python function to grab minute level price and volume data for APPL, GOOG, K0, and XOM from Google Finance and import it into Pandas Dataframe.
  • Medium project: write a Python function to grab minute level price and volumen data for all stocks listed on the S&P 500 for all of 2011 and 2012 and import it into Pandas Dataframe.

Actually, I should probably check to see if you can get intraday data from Yahoo!Finance using the the Pandas DataReader module first before attempting either of the above!

Kenneth French (of Fama and French fame) has an excellent library of financial data sets that has been made available via the pandas.io.data.DataReader module.

Online source of free economics and financial data (over 2 million time series!) They have a super simple web API for accessing the data.

  • Small project: write a simple function to grab a user specified time series via the web API and convert it into a Pandas Dataframe/Panel.
  • Medium project: write a more robust interface to the web API (similar to wbdata) that allows user to search for data, and then download the results into a Pandas Dataframe/Panel.

Angus Maddison data

Best available data on historical time series across countries.

  • Small project: Convert the data from its current form (ugly .xls spreadsheet), to a nicely formatted .csv file (or equivalent) so that it can be loaded into a Pandas Dataframe for analysis.