IT/SW Dev.

pykrx (python lib) - 주요기능 및 사용 사례

부티형 2025. 2. 9. 09:55
반응형

PyKRX (한국거래소 데이터 크롤링 라이브러리) 소개

PyKRX는 한국거래소(KRX)의 주식 및 금융 데이터를 손쉽게 가져올 수 있도록 도와주는 파이썬 라이브러리입니다. 주식시장 데이터, ETF, 지수, 공매도, 투자자별 매매 동향 등의 데이터를 편리하게 조회할 수 있습니다.


1. PyKRX 설치

PyKRX는 pip을 이용해 설치할 수 있습니다.

pip install pykrx

2. 주요 기능 및 사용 사례

반응형

1) 개별 종목 시세 조회

특정 종목의 가격 데이터를 가져올 수 있습니다.

from pykrx import stock

# 삼성전자(005930)의 2024년 2월 1일부터 2월 10일까지 주가 데이터
df = stock.get_market_ohlcv_by_date("20240201", "20240210", "005930")

print(df)

출력 예시:

               시가      고가      저가      종가    거래량
2024-02-01  70000  71000  69500  70500  1000000
2024-02-02  70500  71500  70000  71000  1200000
...

2) 특정 날짜의 모든 종목 가격 데이터 조회

df = stock.get_market_ohlcv_by_ticker("20240209", market="KOSPI")
print(df.head())

출력 예시:

           시가     고가     저가     종가    거래량
005930  70000  71000  69500  70500  1500000
000660  120000 122000 119000 121500  800000
...

3) 특정 종목의 배당 수익률 및 재무 정보 조회

df = stock.get_market_fundamental("20240209", "005930")
print(df)

출력 예시:

              BPS      PER     PBR  배당수익률
005930  55000.00  14.50   1.30    1.45
  • BPS: 주당 순자산
  • PER: 주가수익비율
  • PBR: 주가순자산비율
  • 배당수익률: 연간 배당금 대비 주가 비율

4) 특정 종목의 외국인/기관/개인 투자자 매매 동향

df = stock.get_market_trading_value_by_date("20240201", "20240209", "005930", detail=True)
print(df)

출력 예시:

             기관      외국인     개인
2024-02-01  500000   -200000   -300000
2024-02-02 -100000    250000   -150000
...
  • 기관, 외국인, 개인의 일별 순매수/순매도 금액을 확인 가능

5) 특정 ETF 종목의 시세 조회

from pykrx import etf

df = etf.get_etf_ohlcv_by_date("20240201", "20240209", "252670")  # KODEX 200선물인버스2X
print(df.head())

6) 특정 지수(KOSPI, KOSDAQ, KOSPI200 등)의 시세 조회

df = stock.get_index_ohlcv_by_date("20240201", "20240209", "1001")  # KOSPI 지수
print(df)

출력 예시:

               시가      고가      저가      종가    거래량
2024-02-01  2500   2520   2490   2510   50000000

3. PyKRX 활용 사례

📌 1) 주식 자동 매매 시스템 개발

  • PyKRX를 활용하여 주가 데이터를 가져오고, 일정 조건을 만족할 경우 자동으로 주문을 실행하는 시스템 구축 가능

📌 2) 투자 포트폴리오 분석

  • 과거 주가 데이터를 활용하여 투자 전략을 세우고, 백테스팅(과거 데이터 기반 전략 테스트) 수행 가능

📌 3) 데이터 시각화 및 트렌드 분석

  • matplotlib 및 pandas를 활용하여 주가 데이터를 시각화하고 트렌드 분석 가능
import matplotlib.pyplot as plt

df["종가"].plot(figsize=(10,5), title="삼성전자 주가 변화")
plt.show()

4. 결론

PyKRX는 한국거래소 데이터를 쉽게 가져올 수 있도록 해주는 강력한 도구입니다. 주가 분석, 투자 전략 연구, 자동화 매매 시스템 등 다양한 금융 애플리케이션에서 활용할 수 있습니다. 🚀

반응형