주식분석프로그램

pykrx 라이브러리 사용법1

DEDS 2025. 4. 17. 10:44
728x90
반응형

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

728x90
반응형

'주식분석프로그램' 카테고리의 다른 글

pykrx 라이브러리 사용법2  (0) 2025.04.17
RSI 와 MACD  (0) 2025.04.14
증권 데이터 -용어(PER/PBR/EPS/BPS)  (0) 2025.03.24