본문 바로가기
Programming/Python

[Python] 주식 데이터 분석 pykrx 활용하기

by 코딩하는 금융인 2024. 4. 8.

안녕하세요.

파이썬 pykrx 라이브러리에 대한 소개와 이를 활용한 사례를 알려드리겠습니다.

 

 파이썬 pykrx 라이브러리 소개

▣ prkrx

파이썬에서 국내 주식 데이터를 손쉽게 다룰 수 있도록 도와주는 라이브러리 패키지

 

 - 해당 라이브러리를 통해, 다양한 주식 관련 사이트에서 국내 주식시장의 주가, 거래량 등의 데이터를 쉽게 가져올 수 있음

 - 주요 기능으로 개별 종목의 주가 등의 데이터 추출, 상장종목의 티커 정보 추출, 특정 기간 동안의 데이터 추출이 있음

 - 자세한 사항Pykrx 모듈 깃허브를 참조

 

: 설치방법

pip install pykrx

 

▣ 실습해보기

 - 먼저, 국내 대표 종목인 삼성전자(A005930)의 데이터추출

# 모듈 사용
from pykrx import stock
from pykrx import bond
import pykrx

# 개별 종목(삼성전자) 주가 데이터 추출
df = pykrx.stock.get_market_ohlcv_by_date("20240101", "20240405", "005930")
print(df.head())

삼성전자 데이터 추출 예시

 

 - '24년 4월 5일 기준으로 거래대금이 1천억원 이상을 기록한 종목의 티커와 거래대금, 등락률을 추출

 - 티커로 보면 헷갈려서 종목명을 추가하여 데이터프레임 생성

from pykrx import stock
from datetime import datetime
import pandas as pd

df_kospi = stock.get_market_ohlcv_by_ticker("20240405", market = "KOSPI")
df_kosdaq = stock.get_market_ohlcv_by_ticker("20240405", market = "KOSDAQ")
df = pd.concat([df_kospi, df_kosdaq])

# 종목명 추가
df['종목명'] = df.index.map(lambda x: stock.get_market_ticker_name(x))

# 거래대금 천억 이상 필터링
high_volume_stocks = df[df['거래대금'] >= 100000000000]

# 필요한 열만 선택
result = high_volume_stocks[['종목명', '거래대금', '등락률']]

# 거래대금 순으로 내림차순 정렬
result = result.sort_values(by='거래대금', ascending=False)

print(result)

 

 - 티커가 index로 되어 있어서 함께 나온 걸 알 수 있고 거래대금 1천억원 이상으로 잘 정렬되어서 추출됨

거래대금 천억 이상 리스트 추출 예시

 

 - 추후 포스팅에서 이렇게 추출한 종목 리스트를 매일 확인할 수 있게 텔레그램으로 전송하는 방법에 대해서 알아보겠음

 

 

반응형

댓글