Fred API를 이용해서 원 달러 환율과 달러 인덱스의 데이트를 비교하고 그래프를 그려보겠습니다.
1. Fred 가입 후 API KEY 신청 및 확인하기
2. 원 달러 환율, 달러 인덱스 데이터 수집 및 그래프 확인
3. 원 달러 환율과 달러 인덱스의 차분 그래프 확인
1. Fred 가입 후 API KEY 신청 및 확인하기
2. 원 달러 환율, 달러 인덱스 데이터 수집
필요 라이브러리를 import 합니다. API_KEY는 본인의 데이터가 필요합니다.
import pandas as pd
import fredpy as fp
from datetime import datetime, timedelta
#fp.api_key = 'YOUR_API_KEY'
원 달러 환율 및 달러 인덱스 데이터를 불러옵니다.
원 달러 환율의 symbol은 'DEXKOUS'이고 달러 인덱스의 환율을 'DTWEXBGS'입니다.
enddate=(datetime.now() + timedelta(days=-1)).strftime('%Y-%m-%d')
won= fp.series('DEXKOUS',enddate)
won.data
달러 인덱스입니다.
enddate=(datetime.now() + timedelta(days=-1)).strftime('%Y-%m-%d')
dol= fp.series('DTWEXBGS',enddate)
dol.data
데이터의 기간을 맞추기 위해 원 달러 환율의 기간을 '2006-01-02'로 하고
그래프를 그려 보겠습니다.
wondata=won.data.loc[won.data.index > '2006-01-02']
import plotly.express as px
import plotly.graph_objects as go
from plotly.subplots import make_subplots
# Create figure with secondary y-axis
fig = make_subplots(specs=[[{"secondary_y": True}]])
# Add traces
fig.add_trace(
go.Line(x=dol.data.index, y=dol.data.values, name="달러인덱스"),
secondary_y=True,
)
fig.add_trace(
go.Line(x=wondata.index, y=wondata.values, name="원달러환율"),
secondary_y=False,
)
#fig.add_trace(
# go.Bar(x=usregdata.index, y=usregdata.values, name="경기침체"),
# secondary_y=False,
#)
fig.show()
3. 원 달러 환율과 달러 인덱스의 차분 그래프 확인
원 달러 환율과 달러 인덱스의 차분 데이터를 확인하기 위해 두 개의 데이터를 병합하겠습니다.
df=pd.concat([dol.data,wondata], axis=1)
df.columns=['달러인덱스','원달러환율']
df
원 달러 환율 데이터는 2006-01-03부터 시작되니 01-03을 100.7558으로 설정하고
이후의 날짜를 변환하도록 하겠습니다.
우선 pct_change로 일별 변화율을 구하고, cumprod를 이용 누적 변화율을 구합니다.
df['원달러환율_change']=df['원달러환율'].pct_change()
df['원달러환율_changecum']=(1+df['원달러환율_change']).cumprod()
원 달러 환율의 2006-01-03을 1로 설정 후 전체 데이터를 100.7558을 곱해 주면
2006-01-03의 100.7558 기준으로 데이터가 변환이 됩니다.
df.loc['2006-01-03','원달러환율_changecum']=1
df['원달러환율index']=df['원달러환율_changecum']*100.7558
수치가 변한 것을 알 수 있습니다.
원달러 환율 index에서 달러 인덱스의 차분을 구합니다.
df['차분']=df['원달러환율index']-df['달러인덱스']
df
그래프로 확인해 보겠습니다.
import plotly.express as px
fig=px.line(data_frame=df, x=df.index, y='차분',
title='원 달러 인덱스와 달러인덱스의 차분 그래프', height=500)
fig.update_layout(
uniformtext_minsize=8, uniformtext_mode='hide',
title={
'y':0.85,
'x':0.5,
'xanchor': 'center',
'yanchor': 'top'})
fig.show()
0보다 크면 달러 인덱스의 변화보다 원 달러 환율의 수치가 많은 경우가 되겠습니다.
차분 그래프와 경기 침체 그래프를 보겠습니다.
import plotly.express as px
import plotly.graph_objects as go
from plotly.subplots import make_subplots
usreg = fp.series('USREC',enddate)
usregdata=usreg.data.loc[usreg.data.index>='2006-01-01']
# Create figure with secondary y-axis
fig = make_subplots(specs=[[{"secondary_y": True}]])
# Add traces
fig.add_trace(
go.Line(x=df.index, y=df['차분']),
secondary_y=True,
)
fig.add_trace(
go.Bar(x=usregdata.index, y=usregdata.values, name="경기침체"),
secondary_y=False,
)
fig.show()
차분 데이터와 코스피 지수를 확인해 볼까요
이상으로 원 달러 환율과 달러 인덱스의 데이트를 비교하고 그래프를 그려보겠습니다.
'API' 카테고리의 다른 글
[FinanceDataReader] 주가 및 샤프비율 샤프지수(sharp) 계산 (9) | 2022.12.06 |
---|---|
[Fred API] 달러 인덱스와 금, 은, 구리 비교 그래프 (11) | 2022.12.05 |
[Fred API] CPI(소비자물가지수), CoreCPI 데이터 수집 (7) | 2022.12.01 |
[공공데이터포털 API] 아파트 매매 실거래 자료 수집 (4) | 2022.11.28 |
[Fred API] 미국 장단기 국채 수익률 곡선 그래프(2년, 3년, 5년, 10년, 20년, 30년) (4) | 2022.11.25 |