Economic data from the Federal Reserve

Importing and Managing Financial Data in Python

Stefan Jansen

Instructor

Economic data from FRED

FRED logo

  • Federal Reserve Economic Data
  • 500,000 series covering a range of categories:
    • Economic growth & employment
    • Monetary & fiscal policy
    • Demographics, industries, commodity prices
    • Daily, monthly, annual frequencies
Importing and Managing Financial Data in Python

Get data from FRED

fred lookup.png

1 https://fred.stlouisfed.org/
Importing and Managing Financial Data in Python

Get data from FRED

fred lookup 2.png

1 https://fred.stlouisfed.org/
Importing and Managing Financial Data in Python

Get data from FRED

fred lookup 3.png

1 https://fred.stlouisfed.org/
Importing and Managing Financial Data in Python

Interest rates

from pandas_datareader.data import DataReader
from datetime import date

series_code = 'DGS10' # 10-year Treasury Rate
data_source = 'fred' # FED Economic Data Service
start = date(1962, 1, 1)
data = DataReader(series_code, data_source, start)
data.info()
DatetimeIndex: 15754 entries, 1962-01-02 to 2022-05-20
Data columns (total 1 columns):
 #   Column  Non-Null Count  Dtype  
 --  ------  --------------  -----  
 0   DGS10   15083 non-null  float64
dtypes: float64(1)
Importing and Managing Financial Data in Python

Stock prices: Visualization

  • .rename(columns={old_name: new_name})
series_name = '10-year Treasury'
data = data.rename(columns={series_code: series_name})

data.plot(title=series_name); plt.show()

New visualization

Importing and Managing Financial Data in Python

Combine stock and economic data

start = date(2000, 1, 1)
series = 'DCOILWTICO' # West Texas Intermediate Oil Price

oil = DataReader(series, 'fred', start)
ticker = 'XOM' # Exxon Mobile Corporation stock = DataReader(ticker, 'yanoo', start)
data = pd.concat([stock[['Close']], oil], axis=1)
data.info()
DatetimeIndex: 5841 entries, 2000-01-03 to 2022-05-23
Data columns (total 2 columns):
 #   Column      Non-Null Count  Dtype  
 --  ------      --------------  -----  
 0   Close       5634 non-null   float64
 1   DCOILWTICO  5615 non-null   float64
Importing and Managing Financial Data in Python

Combine stock and economic data

data.columns = ['Exxon', 'Oil Price']
data.plot()
plt.show()

2_2_tickers.png

Importing and Managing Financial Data in Python

Let's practice!

Importing and Managing Financial Data in Python

Preparing Video For Download...