본문 바로가기

API

[Fred API] 신규주택 착공건수 및 거래건수와 경기침체 확인

반응형

Fred API를 이용해서 신규주택 착공건수 및 거래건수의 데이터를 수집하고

경기 침체 데이터와 비교해 보겠습니다.

1. Fred 가입 후 API KEY 신청 및 확인하기
2. 신규주택 착공건수 및 거래건수 확인

3. 경기 침체 데이터 수집 및 확인

 

 

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. 신규주택 착공건수 및 거래건수 수집

필요한 라이브러리를 import 합니다.

api_key는 본인의 데이터가 필요합니다.

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

fred에서 신규주택 착공건수의 symbol은 'HOUST'를 지정해서 데이터를 불러옵니다.

enddate=(datetime.now() + timedelta(days=-1)).strftime('%Y-%m-%d')
dfnew= fp.series('HOUST',enddate)
dfnew.data

1959년부터의 데이터가 확인이 됩니다.

 

다음으로는 신규주택 거래건수를 불러오겠습니다. symbol은 'HSN1F' 입니다.

enddate=(datetime.now() + timedelta(days=-1)).strftime('%Y-%m-%d')
dftrade= fp.series('HSN1F',enddate)
dftrade.data

1963년부터 데이터가 있습니다.

 

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

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=dfnew.data.index, y=dfnew.data.values, name="신규주택 착공건수"),
    secondary_y=False,
)

fig.add_trace(
    go.Line(x=dftrade.data.index, y=dftrade.data.values, name="신규주택 거래건수"),
    secondary_y=False,
)

fig.update_layout(title_text='신규주택 착공건수 및 거래건수', title_x=0.5, title_y=0.9)

fig.show()

 

 

반응형

 

 

3. 경기 침체 데이터 수집 및 확인

다음으로는 symbol 'USREC'로 경기침체 데이터를 불러오겠습니다.

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

 

 

데이터가 1854년부터 있는데 기간을 1959년부터로 축소하겠습니다.

usregdata=usreg.data.loc[usreg.data.index>='1959-01-01']

 

자 그럼 위의 신규주택 착공건수 및 거래 건수의 그래프에 경기침체를 넣어서 확인하겠습니다.

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

# Add traces
fig.add_trace(
    go.Line(x=dfnew.data.index, y=dfnew.data.values, name="신규주택 착공건수"),
    secondary_y=True,
)

fig.add_trace(
    go.Line(x=dftrade.data.index, y=dftrade.data.values, name="신규주택 거래건수"),
    secondary_y=True,
)

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

fig.update_layout(title_text='신규주택 착공건수 및 거래건수와 경기침체', \
	title_x=0.5, title_y=0.9)

fig.show()

경기 침체 일 때는 착공 건수 및 거래건수가 줄어든 것을 알 수 있습니다.

 

이상으로 신규주택 착공건수 및 거래건수의 데이터와 경기 침체 데이터를 비교해 봤습니다.

 

반응형