[Python] pykrx 금융 데이터 모듈 사용법
Pykrx
여러 웹사이트에서 주가 정보를 스크랩하는 라이브러리
종목의 가격뿐만이 아닌 PER, PBR, EPS, BPS, DIV, DPS의 펀더멘탈 지표 같은
중요한 정보들도 가져올 수 있음
사용법
주로 많이 쓰이는 함수들을 알아보자
개발환경은 구글 코랩에서 실시
자세한 정보는 여기서
https://github.com/sharebook-kr/pykrx
!pip install pykrx
from pykrx import stock
import pandas as pd
import numpy as np
전체 종목 정보 가져오기
get_market_ticker_list(date=”YYYYMMDD”, market=”거래소명”)
kospi = stock.get_market_ticker_list("20220617", market="KOSPI")
kospi[:5]
['095570', '006840', '027410', '282330', '138930']
kosdaq = stock.get_market_ticker_list("20220617", market="KOSDAQ")
kosdaq[:5]
['060310', '054620', '265520', '211270', '032790']
all = stock.get_market_ticker_list("20220617", market="ALL")
all[:5]
['060310', '095570', '006840', '054620', '265520']
일정 기간 종목의 가격 변동 조회
get_market_price_change_by_ticker(fromdate=”조회시작일”, todate=”조회종료일”, market=”거래소명”)
df = stock.get_market_price_change_by_ticker(fromdate="20220522", todate="20220601")
df.head()
종목명 시가 종가 변동폭 등락률 거래량 거래대금 티커 095570 AJ네트웍스 6850 6970 120 1.75 734513 5192580470 006840 AK홀딩스 19500 21200 1700 8.72 104100 2081742950 027410 BGF 5060 5160 100 1.98 715781 3698040110 282330 BGF리테일 186000 183500 -2500 -1.34 237019 44185666500 138930 BNK금융지주 7620 7890 270 3.54 5003526 39024054380
종목 이름 가져오기
get_market_ticker_name(ticker)
name = stock.get_market_ticker_name("005930")
name
'삼성전자'
특정 일자 전체 종목 시세 OHLCV(시가, 고가, 저가, 종가, 거래량, 거래대금, 등락률) 가져오기
stock.get_market_ohlcv_by_ticker(date=날짜)
df = stock.get_market_ohlcv_by_ticker(date="20220617")
df.head()
시가 고가 저가 종가 거래량 거래대금 등락률 티커 095570 6610 6850 6530 6750 140939 937272870 -0.88 006840 16550 17150 16100 17050 42072 689997850 2.10 027410 4300 4345 4245 4270 228636 979533785 -2.18 282330 177500 178000 170500 174500 53682 9345751000 0.00 138930 7340 7350 7240 7290 2025318 14766919140 -1.49
날짜별 OHLCV(시가, 고가, 저가, 종가, 거래량, 거래대금, 등락률) 가져오기
stock.get_market_ohlcv_by_date(조회시작일, 조회종료일, 종목코드)
df = stock.get_market_ohlcv_by_date("20220520", "20220610", "005930")
df.head()
시가 고가 저가 종가 거래량 날짜 2022-05-20 67800 68400 67700 68000 12109671 2022-05-23 68800 68800 67600 67900 13684088 2022-05-24 67500 67700 66500 66500 15482576 2022-05-25 66700 67100 65900 66400 15150490 2022-05-26 66300 67200 65500 65900 15970890
# 월별로 가져오기 (일 : "d", 년 : "y")
df = stock.get_market_ohlcv_by_date("20220420", "20220610", "005930", "m")
df.head()
시가 고가 저가 종가 거래량 날짜 2022-04-30 67000 68300 64500 67400 126503617 2022-05-31 66600 68800 64900 67400 310129252 2022-06-30 66600 67300 63800 63800 103005538
전체 종목의 펀더멘탈 지표(PER, PBR, EPS, BPS, DIV, DPS) 가져오기
stock.get_market_fundamental_by_ticker(date=날짜, market=거래소)
df = stock.get_market_fundamental_by_ticker(date='20220617', market="ALL")
df.head()
BPS PER PBR EPS DIV DPS 티커 060310 792 174.69 3.53 16 0.00 0 095570 8075 3.95 0.84 1707 4.00 270 006840 45961 0.00 0.37 0 1.17 200 054620 10088 8.07 0.94 1179 1.05 100 265520 12713 4.88 1.51 3932 1.25 240
일자별 DIV/BPS/PER/EPS 조회
stock.get_market_fundamental(조회시작일, 조회종료일, 종목코드)
df = stock.get_market_fundamental("20220504", "20220601", "005930")
df.head()
BPS PER PBR EPS DIV DPS 날짜 2022-05-04 43611 11.75 1.56 5777 2.13 1444 2022-05-06 43611 11.51 1.52 5777 2.17 1444 2022-05-09 43611 11.44 1.52 5777 2.18 1444 2022-05-10 43611 11.37 1.51 5777 2.20 1444 2022-05-11 43611 11.37 1.51 5777 2.20 1444
투자자별 순매수 상위종목 조회
stock.get_market_net_purchases_of_equities(조회시작일, 조회종료일, 거래소, 투자자)
투자자 :금융투자 / 보험 / 투신 / 사모 / 은행 / 기타금융 / 연기금 / 기관합계 / 기타법인 / 개인 / 외국인 / 기타외국인 / 전체
df = stock.get_market_net_purchases_of_equities("20210115", "20210122", "KOSPI", "개인")
df.head()
종목명 매도거래량 매수거래량 순매수거래량 매도거래대금 매수거래대금 \ 티커 005930 삼성전자 79567418 102852747 23285329 6918846810800 8972911580500 000270 기아차 44440252 49880626 5440374 3861283906400 4377698855000 005935 삼성전자우 15849762 20011325 4161563 1207133611400 1528694164400 051910 LG화학 709872 921975 212103 700823533000 908593419000 096770 SK이노베이션 4848359 5515777 667418 1298854139000 1478890602000 순매수거래대금 티커 005930 2054064769700 000270 516414948600 005935 321560553000 051910 207769886000 096770 180036463000
공매도 거래비중 상위 50 종목 조회
stock.get_shorting_trade_top50(“날짜”)
df = stock.get_shorting_volume_top50("20220617")
df.head()
순위 공매도거래대금 총거래대금 공매도비중 직전40일거래대금평균 공매도거래대금증가율 \ 티커 207940 1 65582327000 206809432000 31.71 5708922700 11.49 001450 2 3658823300 12098289300 30.24 1647440381 2.22 323410 3 23475005600 79295281780 29.61 9212193240 2.55 005940 4 3029191010 10782747820 28.09 661281673 4.58 251270 5 4277996500 15308949800 27.94 4498179143 0.95 직전40일공매도평균비중 공매도비중증가율 주가수익률 티커 207940 15.09 2.10 3.10 001450 13.08 2.31 -0.48 323410 13.44 2.20 -0.82 005940 8.55 3.29 -0.30 251270 24.73 1.13 0.14
댓글남기기