주식 투자 전략 검증

파이썬으로 개별 주식 주가 정보 가져오기 (FinanceDataReader)

intjdev 2022. 12. 8. 01:37

파이썬을 활용한 FinanceDataReader라는 패키지가 있다.

이 패키지를 활용해서 주가 정보를 가져올 수 있다.

 

사전 준비물: 파이썬 (공식 홈페이지 https://www.python.org/)

패키지 설치

터미널 (윈도우는 cmd)에서 다음 명령어를 입력해서 필요한 패키지를 설치한다.

 

pip install finance-datareader beautifulsoup4 pandas

 

(FinanceDataFrame 패키지에서 beautifulsoup4를 사용하는데 자동으로 설치되지 않아 추가로 설치해줬습니다.)

패키지 설명

  • finance-datareader : 금융 데이터 수집 라이브러리
  • beautifulsoup4 : html 문서를 분석하기 위한 패키지. 웹 크롤링에 많이 사용된다.
  • pandas : 데이터 조작을 위한 라이브러리

종목 코드 가져오기

import pandas as pd
import FinanceDataReader as fdr

df_krx = fdr.StockListing('KRX')
df_krx.to_csv('./krx_stock_symbols.csv')

 

StockListing 메소드에 'KRX'를 매개변수로 사용하면 KRX종목 전체(KOSPI, KOSDAQ, KONEX)에 대한 정보가 DataFrame 형태로 담기게 된다. (미국 시장도 있는데 그건 잘 안됐음)

그렇게 받아온 데이터프레임이 krx_stock_symbols.csv파일로 저장된다.

 

 

이런 형태의 csv 파일에 2600개가 넘는 종목 정보가 담기게 된다.

주가 정보 받아오기

DataReader 메소드를 사용하기 위해서는 종목 코드가 필요하다.

방금 저장한 종목코드 csv 파일을 불러와서 필요한 종목코드를 찾는다. (여기서는 삼성전자)

시작 날짜와 종료 날짜까지 함께 매개변수로 넘겨주자. (여기서는 2010-01-01 ~ 2010-12-31)

결과 값이 DataFrame 형태로 넘어온다.

 

import FinanceDataReader as fdr
import pandas as pd

target = '삼성전자'
start = '20100101'
end = '20101231'

symbols = pd.read_csv('./krx_stock_symbols.csv')
code = symbols[symbols['Name'] == target]['Code'].iloc[0]

stock_data = fdr.DataReader(code, start, end)

stock_data.to_csv('./stock_price.csv')

 

일별 주가 정보가 stock_price.csv에 저장된다.

 

 

 

 

https://financedata.github.io/posts/finance-data-reader-users-guide.html 가이드를 참고하였습니다.