728x90
728x170

pykrx 를 이용해 주가 정보를 가져오는 방법입니다.

먼저 install 하는 명령어입니다.

pip install pykrx

 

이전 시간에 만든 가상환경을 이용헤 jupyter 를 이용해 테스트 해보겠습니다.

2023.12.21 - [TensorFlow Python] - [Python] 파이썬 가상환경 구성하기 - jupyter 실행까지

 

[Python] 파이썬 가상환경 구성하기 - jupyter 실행까지

파이썬을 공부하다 보면 때때로 패키지 간의 버전 호환성 문제로 인해 이전에 잘 실행되던 코드가 작동하지 않는 경우가 발생합니다. 이러한 문제의 주요 원인 중 하나는 한 패키지가 다른 패키

kjun.kr

 

먼저 아래 2 항목을 import 합니다.

from pykrx import stock
from pykrx import bond

 

아래는 특정 날짜의 ticker 정보를 가져옵니다. (기본값으로 KOSPI 정보를 가져옴)

tickers = stock.get_market_ticker_list("20231221")
print(tickers)

결과

KOSPI 정보가 아닌 KOSDAQ, KONEX 정보를 가지고 오고 싶은경우 아래처럼 market 인자를 이용합니다.

tickers = stock.get_market_ticker_list("20231221", market="KOSDAQ")
print(tickers)

결과

전부를 가져오고 싶은 경우 ALL 을 입력합니다.

각 항목코드가 의미하는 주식이름 반환받고 싶은 경우 아래처럼 처리합니다.

for ticker in stock.get_market_ticker_list("20231221", market="KOSDAQ"):
        item = stock.get_market_ticker_name(ticker)
        print(item)

결과

 

이제 OHLCV 를 조회해봅니다.
(OHLCV란? OHLCV (open, high, low, close, volume)로 당일 시가, 고가, 저가, 종가, 거래량에 대한 데이터)

get_market_ohlcv 함수를 사용하고 확인하고 싶은 기간과 주가코드를 넣어서 확인합니다.

item = stock.get_market_ticker_name("005930")
print(item)
df = stock.get_market_ohlcv("20231201", "20231221", "005930")
print(df)

결과

월과 년 기준으로 보고 싶은 경우 아래처럼 인자를 추가합니다. (d:일자(기본값), m:월, y:년)

item = stock.get_market_ticker_name("005930")
print(item)
df = stock.get_market_ohlcv("20230101", "20231221", "005930", "m")
print(df)

결과

특정 종목이 아닌 전체 종목의 OHLCV 를 가지고 올 수는 있지만 잦은 요청은 서버에서 차단될 수 있습니다.

배치파일을 만들어 기간별로 돌리거나 아래처럼 sleep 함수를 이용해 지연 요청하도록 하면됩니다.

import time
for ticker in stock.get_market_ticker_list("20231221"):
    item = stock.get_market_ticker_name(ticker)
    print(item)
    df = stock.get_market_ohlcv("20231210", "20231212", ticker)
    print(df.head())
    time.sleep(1)

 

종목의 가격 변동조회를 하고 싶은 경우 get_market_price_change 함수를 사용합니다.

아래처럼 하면 해당 기간의 모든 종목의 가격 변동폭을 알 수있습니다.

df = stock.get_market_price_change("20231201", "20231222")
print(df)

728x90
그리드형
Posted by kjun
,