본문 바로가기
IT이야기/파이썬을 이용한 주식 투자

파이썬을 활용한 주요 경제 데이터 크롤링

by 행복찾아3만리 2021. 12. 26.
반응형

이번 글에서는 주식 투자에 도움이 되는 경제 데이터를 수집해 보려고 합니다. FinanceDataReader를 사용하여 주식 투자에 영향을 주는 경제 데이터를 크롤링해보겠습니다.

 

먼저 FinanceDataReader를 import 해보겠습니다. FinanceDataReader 설치 방법은 이전 글을 참조하시면 됩니다.

import FinanceDataReader as fdr
import matplotlib.pyplot as plt
import pandas as pd
import pandas_datareader as pdr

plt.rcParams["figure.figsize"] = (20,6)
plt.rcParams["font.family"] = 'nanummyeongjo'
plt.rcParams["axes.grid"] = True
plt.rcParams["figure.figsize"] = (12,6)
plt.rcParams["axes.formatter.useoffset"] = False
plt.rcParams['axes.unicode_minus'] = False
 

첫 번째 우리나라 주식에서 가장 중요한 지표 원 달라 환율을 크롤링해보겠습니다.

#원달라 환율
USD_KRX = fdr.DataReader('USD/KRW', start='2019-01-01')#미국 달러/한국 원(원달러)
graph = USD_KRX.loc[:,'Close'].plot()
graph.axhline(1050, ls='--', color='r')#1050선
graph.axhline(1150, ls='--', color='r')#1150선

환율-그래프
환율

 

두 번째 최근 코스피 지수와 상관계수가 높은 호주달러 나누기 스위스 프랑 그래프를 구해보겠습니다.

아래 코드를 돌린 결과 코스피와 호주달러/스위스프랑 두 지표의 상관계수 결과 0.877869 정도로 아주 높은 상관계수를 나타내고 있습니다. 

#호주 달러/스위스 프랑와 코스피 관계
AUD_CHF = fdr.DataReader('AUD/CHF', start='2020-01-01')#호주 달러/스위스 프랑
KOSPI= fdr.DataReader('KS11', start='2020-01-01')
concat_data= pd.concat([AUD_CHF['Close'], KOSPI['Close']], axis=1)
concat_data.columns = ['AUD/CHF', 'KOSPI']
data = concat_data.loc['2020-01-01':]
print(data.corr()) #상관계수
data.plot(secondary_y='KOSPI')

호주달라와-스위스프랑-관계
호주 달러와 스위스 프랑 관계

 

세 번째 미국 국채 금리입니다. 미국 국채 금리에 따라 세계 경제가 흔들리기에 꼭 확인 필요한 지표입니다.

#미국 국채 금리(20년, 10년, 5년, 1년)
DGS = fdr.DataReader(['DGS20','DGS10','DGS5','DGS1'], start='2020-03-01', data_source='fred') 
graph= DGS.plot()
graph.axhline(1.5, ls='--', color='r')

미국국채금리
미국 국채 금리

 

네 번째 미국 국채 금리를 이용한 장단기 금리차입니다. 장단기 금리차가 줄어들수록 경제 위기가 발생합니다.

아래 그래프에서 보는 거와 같이 경제 위기 전에는 언제나 장단기 금리차가 내려갔습니다.

(미국 장단기 금리차 = 장기금리(10년물 국채 수익률) – 단기금리(2년물 국채 수익률))

#미국 장단기 금리차
T10Y2Y = fdr.DataReader('T10Y2Y', start='2000-01-01', data_source='fred') #미국 장단기 금리차
graph= T10Y2Y.plot()
graph.axvspan('2001-03-01', '2001-12-01', color='gray', alpha=0.3)
graph.axvspan('2007-12-01', '2009-03-30', color='gray', alpha=0.3)
graph.axvspan('2020-03-01', '2020-12-30', color='gray', alpha=0.3)

장단기금리차
장단기 금리차

 

다섯 번째 변동성지수로도 불리오며 공포지수로 불리는 VIX입니다. 코로나 초기 발생 시 상당히 높게 올라간 것으로 보이며 현재는 점차 내려가는 것으로 볼 수 있습니다.

#VIX(변동성 지수)
VIX = fdr.DataReader('VIXCLS', start='2018-07-01', data_source='fred')#VIX(변동성 지수)
graph= VIX.plot()

VIX
VIX

 

여섯 번째 금융 신용경색 지표로 불리는 TED Spread입니다.

TES Spread 또한 코로나 발생기에 높게 올라간 것으로 보입니다.

#TED Spread
TEDRATE = fdr.DataReader('TEDRATE', start='2018-01-01',data_source='fred')#TED Spread
graph=TEDRATE.plot()

TED-Spread
TED Spread

 

마지막으로 금융 스트레스 지수입니다.

금융 스트레스 지수 또한 코로나 발생기에 높게 올라간 것으로 보입니다.

#금융스트레스 지수
STLFSI2 = fdr.DataReader('STLFSI2', start='2018-01-01',data_source='fred')#금융스트레스 지수
graph=STLFSI2.plot()

금융스트레스-지수
금융스트레스 지수

여기까지 우리나라 증시에 영향을 주는 몇 가지 지표들을 파이썬을 활용하여 크롤링해보았습니다. 위에서 보여드렸던 것과 같이 간단하게 크롤링이 가능하며 필요에 따라 여러 지표들을 수집할 수 있으니 한번 꼭 해보시길 바랍니다. 

긴 글 읽어 주셔서 감사하며 궁금한 사항 있으면 댓글 부탁드립니다.

반응형

댓글