본문 바로가기

API

[Fred API FinanceDataReader] 주가와 장단기금리차 데이터 수집 및 그래프 확인

반응형

Fred API와 FinanceDataReader를 이용해서 장단기 금리차와 주가(S&P500, KOSPI)의 데이터를 수집하고

그래프로 확인해 보겠습니다.

Fredpy로 데이터를 수집하는데 Fred API Key가 필요합니다.

 

1. Fred 가입 후 API KEY 신청 및 확인하기

2. 장단기 금리차 및 경기침체 데이터 수집(Fred)

3. S&P500, KOSPI 주가 수집(FinanceDataReader)

4. 그래프 확인

 

1. Fred 가입 후 API KEY 신청 및 확인하기

https://yenpa.tistory.com/65

 

[Fred API] 가입 후 API KEY 신청 및 확인하기

Fred 사이트에 가입 후 API Key 확인하는 방법을 알아보겠습니다. 1. Fred 사이트 가입 아래의 사이트에 접속합니다 https://fred.stlouisfed.org/ Federal Reserve Economic Data | FRED | St. Louis Fed Welcome to FRED, your trust

yenpa.tistory.com

 

 

2. 장단기 금리차 및 경기침체 데이터 수집(Fred)

Fred API에서 데이터를 가져오기 위해 Fredpy의 설치가 필요합니다.

pip install fredpy

필요 라이브러리를 import 하고 fp.api_key에 1번에서 확인한 API를 입력합니다.

import pandas as pd
import fredpy as fp
fp.api_key = 'YOUR_API_KEY'

장단기 금리차의 symbol은 'T10Y2Y' 이고 22-11-23일까지의 데이터를 수집하겠습니다.

enddate='2022-11-23'
t10 = fp.series('T10Y2Y',enddate)
t10.data

 

NBER 경기 침체 데이터는 symbol 'USREC'입니다.

usreg = fp.series('USREC',enddate)
usreg.data

 

 

3. S&P500, KOSPI 주가 수집(FinanceDataReader)

FinanceDataReader를 이용하기 위해 설치를 진행합니다.

pip install -U finance-datareader

필요 라이브러리 import 및 S&P500 symbol 'US500'을 이용해서 데이터를 수집합니다.

import FinanceDataReader as fdr
snp=fdr.DataReader('US500')
snp

 

KOSPI Data도 가져와 볼까요

kospi=fdr.DataReader('KS11')
kospi

 

 

4. 그래프 확인

S&P500과 장단기 금리차, 경기침체를 그래프로 확인해보겠습니다.

기간이 다르니 S&P500 기준으로 1980-01-01부터로 하겠습니다.

plotly를 이용하기 위해 필요 라이브러리를 import 합니다.

import plotly.express as px
import plotly.graph_objects as go
from plotly.subplots import make_subplots
t10data=t10.data.loc[t10.data.index>='1980-01-01']
usregdata=usreg.data.loc[usreg.data.index>='1980-01-01']

 

3개의 데이터를 그래프로 그려볼까요. 

# Create figure with secondary y-axis
fig = make_subplots(specs=[[{"secondary_y": True}]])

# Add traces
fig.add_trace(
    go.Line(x=snp.index, y=snp['Close'], name="S&P500"),
    secondary_y=False,
)

fig.add_trace(
    go.Bar(x=usregdata.index, y=usregdata.values*5000, name="경기침체"),
    secondary_y=False,
)


fig.add_trace(
    go.Line(x=t10data.index, y=t10data.values, name="장단기 금리차"),
    secondary_y=True,
)

fig.show()

장단기 금리차는 경기 침체일 때 상승하는 경향이 보이는 것 같고, S&P500은 하락하는 구간이 보이는 것 같습니다.

 

코스피의 경우에는 어떻게 될까요.

코스피 데이터가 1996-12-11부터 있어 동일하게 수정했습니다.

t10data=t10.data.loc[t10.data.index>='1996-12-11']
usregdata=usreg.data.loc[usreg.data.index>='1996-12-11']
# Create figure with secondary y-axis
fig = make_subplots(specs=[[{"secondary_y": True}]])

# Add traces
fig.add_trace(
    go.Line(x=kospi.index, y=kospi['Close'], name="KOSPI"),
    secondary_y=False,
)

fig.add_trace(
    go.Bar(x=usregdata.index, y=usregdata.values*5000, name="경기침체"),
    secondary_y=False,
)


fig.add_trace(
    go.Line(x=t10data.index, y=t10data.values, name="장단기 금리차"),
    secondary_y=True,
)

fig.show()

코스피도 비슷한 흐름을 보이는 것 같습니다.

 

 

이상으로 장단기 금리차와 주가(S&P500, KOSPI)를 그래프로 확인해 봤습니다.

반응형