본문 바로가기

API

[Fred API] 미국 기준금리와 국채 수익률 스프레드

반응형

Fred API를 이용해서 미국 기준 금리데이터와 국채 수익률(2년, 10년) 데이터를 수집하고

각 스프레드 데이터를 계산 후 그래프로 확인해 보겠습니다.
확인을 위해서는 Fred API에 가입이 되어 있어야 합니다.

1. Fred 가입 후 API KEY 신청 및 확인하기
2. 기준금리 수집
3. 국채 수익률(2년, 10년)

4. 기준금리-국채수익률 스프레드

5. 스프레드와 코스피

 

 

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. 기준금리 수집

 기준금리 데이터를 수집하겠습니다. Symbol은 'FEDFUNDS'이고 기간은 2002-01-01부터 2023-02-28로 지정하겠습니다.

import pandas as pd
import fredpy as fp
from datetime import datetime
#fp.api_key = 'YOUR_API_KEY'

startdate='2000-01-01'
enddate='2023-02-28'
df1 = fp.series('FEDFUNDS',enddate)
df1=df1.data.loc[(df1.data.index>=startdate) & (df1.data.index<=enddate)]
df1

 

그래프로 보겠습니다.

 

 

 

3. 국채 수익률(2년, 10년)

미국 국채 수익률 데이터를 수집하겠습니다.

2년 데이터의 symbol은 'DGS2'이고 10년 데이터는 'DGS10'입니다.

기간은 기준금리와 동일하게 설정하겠습니다.

dgs2 = fp.series('DGS2',enddate)
df2y=dgs2.data.loc[(dgs2.data.index>=startdate) & (dgs2.data.index<=enddate)]
dgs10 = fp.series('DGS10',enddate)
df10y=dgs10.data.loc[(dgs10.data.index>=startdate) & (dgs10.data.index<=enddate)]
df2y

 

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

 

반응형

 

 

4. 기준금리-국채수익률 스프레드

국채 수익률의 2년 10년 데이터와 기준금리 데이터를 병합합니다.

dfbond=pd.concat([df2y,df10y], axis=1)
dfbond.columns=['국채2년','국채10년']

기준금리 데이터가 1개월 단위 매월 1일 데이터만 있으므로,

병합을 위해 국채 수익률의 dataframe에 YYYY-MM-01 이 들어가는 column을 생성해 줍니다.

dfbond['yearmonth']=pd.to_datetime(dfbond.index.strftime('%Y-%m-01'))

국채 수익률 데이터와 기준금리 데이터를 병합하고,

국채 2년-기준금리과 국채 10년-기준금리 데이터를 계산합니다.

dfall=pd.merge(left=dfbond,right=df1,how='inner',left_index=True, right_index=True)
dfall=dfall.rename(columns={'value':'기준금리'})
dfall['2년-기준금리']=dfall['국채2년']- dfall['기준금리']
dfall['10년-기준금리']=dfall['국채10년']- dfall['기준금리']
dfall

 

 

그래프로 확인하겠습니다.

fig = go.Figure()


fig.add_trace(
    go.Scatter(x=dfall.index, y=dfall['2년-기준금리'], name="2년-기준금리"),
)
fig.add_trace(
    go.Scatter(x=dfall.index, y=dfall['10년-기준금리'], name="10년-기준금리"),
)

fig.update_layout(title_text='국채수익률과 기준금리 스프레드', title_x=0.5)

fig.show()

 

이상으로 미국 기준 금리데이터와 국채 수익률(2년, 10년) 데이터를 수집하고

각 스프레드 데이터를 계산 후 그래프로 확인해 봤습니다.

반응형