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 신청 및 확인하기
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)를 그래프로 확인해 봤습니다.
'API' 카테고리의 다른 글
[공공데이터포털 API] 아파트 매매 실거래 자료 수집 (4) | 2022.11.28 |
---|---|
[Fred API] 미국 장단기 국채 수익률 곡선 그래프(2년, 3년, 5년, 10년, 20년, 30년) (4) | 2022.11.25 |
[Fred API] 미국 실업률과 경기 침체 데이터 수집 및 그래프 그리기 (4) | 2022.11.23 |
[Fred API] 가입 후 API KEY 신청 및 확인하기 (4) | 2022.11.23 |
[네이버 개발자센터 API] 지역 인기 핫 플레이스 정보 가져오기 (6) | 2022.11.21 |