본문 바로가기
데이터 사이언스 공부/일반 실습

주요 금융 데이터 가져오기 실습

by 아인슈페너먹고싶다 2022. 9. 26.

 

 

데이콘 대회를 준비하면서

 

(대회 참 많이한다.. 3, 4개 동시에 진행중 ㅠ)

 

각종 금융 데이터 수집 라이브러리를 다루는 연습을 해보았다.

 

그 과정을 공유하기 위해 간단한 포스팅을 함!

 

 


 

 

각종 금융 지수, 거래소별 종목, 종목별 가격 등 시계열로 정리된 라이브러리로

 

FinanceDataReader 를 소개하고 다루어 보겠다.

 

 

 

 

1
!pip install finance-datareader
cs

일단 라이브러리를 설치해준다. 

 

 

 

1
2
3
import FinanceDataReader as fdr
import pandas as pd
fdr.__version__
cs

0.9.42

 


필요한 패키지를 불러주고

버전을 확인해본다!

 

0.9.33 이상이 좋다고한다. (다행히 0.9.42면 좋은 버전?)

 

 

 

먼저 거래소와 지수 심볼을 알아야 한다.

 

심볼 거래소 및 지수
KRX KRX 종목
NASDAQ NASDAQ 종목
KOSPI KOSPI 종목
KOSDAQ KOSDAQ 종목
NYSE 뉴욕 증권거래소 종목
AMEX AMEX 종목
KS11 KOSPI 지수
KQ11 KOSDAQ 지수
DJI 다우존스 지수
IXIC 나스닥 지수

 

 

 

 

 

1. 거래소 별 상장 종목 

 

 

라이브러리를 통해 거래소 별 상장 종목 정보를 알 수 있다.


이름 뿐만 아니라 종류와 산업 설명 등 자세한 값들을 알 수 있다.

 

서치하는 방법은 다음과 같다.

 

 

 

1
2
df_kospi = fdr.StockListing('KOSPI')
df_kospi.head(5)
cs
KOSPI를 서치한 결과 값

 

 

 

 

1
2
df_nasdaq = fdr.StockListing('NASDAQ')
df_nasdaq.head(5)
cs
NASDAQ을 서치한 결과 값

 

 

 

 

 

2. 국내 주식 가격 정보 

 

 

국내 주식은 이름이 아닌 6자리 코드를 사용한다. 

 

물론 거래소 별로 코드가 다르니 주의해야한다.

 

예를들어 '005380'은 현대자동차 주식의 코드이다. 

 

 

1
2
df_hc = fdr.DataReader('005380')
df_hc
cs

 

DataReader를 사용하는데 앞으로 쭉 이것만 쓸거니까 외워두자!

 

날짜를 추가할 수 있는데 년도를 넣어 해당 년도부터 현재까지 범위를 줄여서 데이터를 얻을 수 있다.

 

 

1
2
df_hc = fdr.DataReader('005380''2021')
df_hc
cs

 

 

3. 해외주식 가격 정보

 

해외주식은 코드가 아닌 약어를 사용한다.

 

예를들어 아마존의 경우 'AMZN'을 사용한다.

 

 

 

1
2
df_am = fdr.DataReader('AMZN''2020')
df_am
cs

 

 

 

 

 

4. 주요 지수 정보

 

주요지수도 마찬가지로 주식을 서치할 때와 같은 방식으로 진행한다.

 

코스피지수를 알아보자

 

1
2
kospi = fdr.DataReader('KS11')
kospi
cs

 

 

 

 

5. 가상화폐 가격 정보 

 

가상화폐 또한 같은데 가상화폐는 사용자라면 더 익숙한 심볼을 사용한다.

 

예를들어 비트코인의 원화 가격을 알아보고 싶다면 BTC/KRW, 달러 가격은 BTC/USD 

 

 

 

가상화폐는 가격 변화가 재밌으니까 한번 간단하게 그래프로 나타내 보았다.

 

1
2
%matplotlib inline
import matplotlib.pyplot as plt
cs

 

 

1
2
df_btc = fdr.DataReader('BTC/USD''2020')
df_btc['Close'].plot()
cs

 

 

 

나머지 코인들도 거래소에 명시되어있는 익숙한 심볼로 서치할 수 있다.

 

 

 

 

6. 환율

 

환율도 방법은 똑같고 심볼또한 간단하다.

 

방식은 기준이 되는 화폐를 앞에 두면 된다.

 

예를들어 원달러 환율이 알고 싶다면 USD/KRW 이런식으로

1
2
df_d = fdr.DataReader('USD/KRW''1997')
df_d['Close'].plot()
cs

 

 


 

이렇게 금융 데이터를 가져오는 방법을 알아보았다.

 

(알아본거라기보단 맛만 본거지만)

 

이렇게 확보한 데이터를 통해 대회를 열심히 준비해 보고자 한다

 

그럼 꿑!

 

 

댓글