반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.

업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART) 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.

 

 

 

이번 시간에는 공시 정보를 다루는 DART-FSS 라이브러리에 이어서 상장된 주식의 가격 정보를 다루는 라이브러리인 FinanceDataReader라는 패키지에 대해 소개해드리겠습니다.

 

두 패키지를 잘 조합하면 정말 유용한 정보를 얻을 수 있을 것 같은 느낌이 듭니다.

 


 

FinanceDataReader란?

 

한국 주식 가격, 미국주식 가격, 지수, 환율, 암호화폐 가격, 종목 리스팅 등 금융 데이터 수집 라이브러리

 

<공식 문서 링크>

 

https://financedata.github.io/posts/finance-data-reader-users-guide.html

 

FinanceDataReader 사용자 안내서

FinanceDataReader 사용자 안내서

financedata.github.io

 

해당 패키지는 한국의 어느 천재분께서 pandas-datareader라는 시계열 데이터 수집 라이브러리의 몇가지 단점을 보완하는 목적으로 만드신 라이브러리입니다.

 

공식 문서에 따르면 해당 라이브러리를 통해 얻을 수 있는 주요한 데이터는 아래와 같습니다.

 

종목 코드

  • 거래소별 전체 종목코드: KRX (KOSPI, KODAQ, KONEX), NASDAQ, NYSE, AMEX, S&P 500

가격 데이터

  • 해외주식 가격 데이터: AAPL(애플), AMZN(아마존), GOOG(구글) 등
  • 국내주식 가격 데이터: 005930(삼성전자), 091990(셀트리온헬스케어) 등
  • 각종 지수: KS11(코스피지수), KQ11(코스닥지수), DJI(다우지수), IXIC(나스닥 지수), US500(S&P 5000)
  • 환율 데이터: USD/KRX (원달러 환율), USD/EUR(달러당 유로화 환율), CNY/KRW: 위엔화 원화 환율
  • 암호화폐 가격: BTC/USD (비트코인 달러 가격, Bitfinex), BTC/KRW (비트코인 원화 가격, 빗썸)

 

라이브러리 설치하기

 

설치 방법은 파이썬 터미널 창이나 주피터 노트북의 코드 입력창에 아래의 코드를 넣고 실행해주시면 됩니다.

 

pip install -U finance-datareader

 

 

라이브러리 불러오기

 

불러오는 방법은 아래와 같습니다.

 

import FinanceDataReader as fdr

 

참고로 아래의 코드는 FinanceDataReader라는 라이브러리를 불러오는데 fdr이란 이름으로 줄여서 부르겠다는 뜻입니다.

 

 

 

튜토리얼

 

StockListing( ) 함수  :  종목 정보

 

StockListing 함수는 종목들의 여러 정보를 판다스의 데이터 프레임 형태로 가져올 수 있는 함수입니다.

 

예시 코드는 아래와 같습니다.

 

# 한국거래소 상장종목 전체
df_krx = fdr.StockListing('KRX')
df_krx.head()

 

<실행 결과>

 

 

'KRX' 대신 들어갈 수 있는 옵션들을 살펴보겠습니다.

 

분류 옵션 설명
한국 시장 'KRX', 'KOSPI', 'KOSDAQ', 'KONEX' KRX는 한국거래소 상장 종목 전체를 의미
(KOSPI, KOSDAQ, KONEX, 기타 ETF를 모두 포함)
미국 시장 'S&P500', 'NASDAQ', 'NYSE', 'AMEX',
'SSE', 'SZSE', 'HKEX', 'TSE', 'HOSE'
미국 시장들의 정보
시가총액 'KRX-MARCAP' KRX에 상장된 종목들의 종목코드, 시가총액, 총주식수 등의 정보
상장폐지 'KRX-DELISTING' 상장폐지에 관한 정보
감사의견 'KRX-ADMINISTRATIVE' KRX 상장사 중, 감사의견을 받은 회사의 종목코드, 날짜, 이유
한국 ETF 'ETF/KR' KRX에 상장된 ETF의 종목코드와 이름

 

저는 개인적으로 시가총액 정보를 받아올 수 있는 'KRX-MARCAP'이 쓸모가 있어보이네요. 다음에 이 데이터와 재무제표 정보를 사용해서 데이터 분석을 해볼 예정입니다.

 

 

 

DataReader( ) 함수 :  개별 종목 가격 or 지수

 

해당 함수는 개별 종목, 혹은 지수의 가격을 시계열 데이터로 가져올 수 있는 함수입니다.

 

참고로 환율과 암호화폐(코인) 정보까지 가져올 수 있으니 활용도가 무궁무진 할 것 같네요!

 

함수 사용 설명

 

빠른 이해를 돕기 위해 네이버 주식의 가격을 불러오는 것을 예제로 다루어보겠습니다.

 

# 2021년~현재까지의 네이버 주가를 데이터 프레임으로 불러오기
df_naver = fdr.DataReader('035420', '2021')

# 가장 마지막(최신)의 10일치 주가 출력
df_naver.tail(10)

 

<실행 결과>

 

이 결과가 실제 데이터와 맞는지 확인해볼까요? 네이버에서 네이버 주가를 검색해보았습니다.

 

오늘이 8월 10일이니깐 종가(Close)가 446,500원으로 똑 같은 것을 확인 할 수 있습니다. 전일 가격도 447,500원이니깐 데이터가 실제와 동일하네요.

 

 

이런식으로 개별 종목을 조회할 수도 있고, 아래와 같이 지수를 확인할 수도 있답니다. 

 

# KOSPI200, 2015년~현재
df_kospi200 = fdr.DataReader('KS200', '2015')

# 가장 마지막(최신)의 10일치 지수 출력
df_naver.tail(10)

 

조회 가능한 지수들은 아래와 같으니 필요하신 것으로 바꾸어서 사용하시면 됩니다.


 

오늘 준비한 내용은 여기까지입니다.

 

참고로 해당 데이터를 이용해서 시각화(그래프)도 가능하며, 이에 대한 내용은 다음에 포스팅 해보도록 하겠습니다.

 

오늘도 코딩유치원을 찾아 주신 여러분들께 감사드립니다.

 

 

 

반응형

+ Recent posts