pykrx는 한국거래소(KRX)에서 제공하는 주식/ETF/지수 등의 데이터를 파이썬에서 쉽게 조회할 수 있도록 지원해
주는 라이브러리입니다. 주식 백테스트, 분석 등에 사용합니다.
설치방법
!pip install pykrx #colab 기준
주요 함수
기능 | 함수 |
상장 종목 코드 리스트 | get_market_ticker_list() |
상장 종목 코드명 조회 | get_market_ticker_name() |
종가/시가/거래량 등 | get_market_ohlcv() |
일정기간 종목의 가격변동조회 | get_market_price_chage() |
샘플코드
종목리스트 조회
from pykrx import stock #주식
from pykrx import bond #채권
tickers = stock.get_market_ticker_list(date="20230414",market="ALL") # 날짜는 'YYYYMMDD'
print(tickers[:5]) # ['005930', '000660', ...] #종목코드 리스트
['095570', '006840', '027410', '282330', '138930']
종목명 조회
#종목명 조회
print(stock.get_market_ticker_name("005930")) # '삼성전자'
종목코드와 종목명이 있는 파일을 생성해 보겠습니다.
data = []
df = pd.DataFrame(columns=['cd', 'cdnm'])
for i,ticker in enumerate(stock.get_market_ticker_list(market="ALL")):
tickernm = stock.get_market_ticker_name(ticker)
data.append({'cd': ticker, 'cdnm': tickernm})
df = pd.DataFrame(data)
df.to_csv("tickers.csv",encoding='utf-8-sig')
주의사항: market="ALL"을 주지 않으시면 KOSPI만 나오니 주의하세요
일정 기간 종목의 가격 변동 조회
get_market_price_change(”조회시작일”, ”조회종료일”)
★ 올초부터 현재까지의 종목별 주가 변동 ( 많이 오른 종목 등 파악이 용이함)
df = stock.get_market_price_change("20250101", "20250416")
df.to_csv('price_change.csv' ,encoding='utf-8-sig') #파일로 저장
df.head()
전체 종목을 파일에 저장되니 종목변동을 확인하실 수 있습니다.
특정 일자 전체 종목 시세(OHLCV) 가져오기
OHLCV가 시가,고가,저가,종가,거래량 의 영문명 시작이네요.
stock.get_market_ohlcv(date=날짜)
data=[]
date1 = "20250416"
df = stock.get_market_ohlcv(date=date1)
df = df.reset_index()
df.head()
종목의 날짜별 OHLCV 가져오기
stock.get_market_ohlcv(조회시작일, 조회종료일, 종목코드)
다음 코드는 삼성전자 2024년1월1일 부터 현재까지 데이터 조회 및 파일로 저장하는 코드입니다.
ticker_cd = "005930"
df = stock.get_market_ohlcv("20240101", "20250416", ticker_cd)
df=df.reset_index()
df.to_csv(ticker_cd + ".csv",index=False, encoding='utf-8-sig')
df.head()
추가적으로 stock.get_market_ohlcv(조회시작일, 조회종료일, 종목코드,frequency) 옵션이 있어
월 조회: stock.get_market_ohlcv(조회시작일, 조회종료일, 종목코드,'m')
년 조외: stock.get_market_ohlcv(조회시작일, 조회종료일, 종목코드,'y')
기본은 일입니다. 월/년은 depreciate 되는것 같습니다. 참고하시기 바랍니다.
추가적으로 종목의 펀더멘탈 지표(PER, PBR, EPS, BPS, DIV, DPS) 등을 가져오는 내용은 다음 글에 이어서
기재하겠습니다. 종목에 대해 펀더멘탈 지표 정보를 넣어 종목에 대한 평가 후 주가분석을 하면 좋을것 같습니다.
'주식분석프로그램' 카테고리의 다른 글
pykrx 라이브러리 사용법2 (0) | 2025.04.17 |
---|---|
RSI 와 MACD (0) | 2025.04.14 |
증권 데이터 -용어(PER/PBR/EPS/BPS) (0) | 2025.03.24 |