본문 바로가기
programming language/Python

Python 주식 시장 개장일/휴장일 확인하기

by __observer__ 2021. 9. 23.
반응형

제 블로그를 보신 분들은 아시겠지만, 저는 매일 장이 끝나면 그날 기관 외국인 수급에 대해서 자동으로 검색을 하고 있습니다. 그런데 이렇게 자동으로 종목 검색을 할

때, 휴일이 끼어 있는 경우에는 전 거래일의 정보가 중복으로 검색이 되는 경우가 있습니다.

그래서 오늘이 장이 열리지 않는 휴일이라면 종목 검색을 하지 않도록 하는 코드가 필요했습니다. 한국 주식 시장 휴장일 관련된 정보는 아래 주소에서 확인할 수 있습니다.

https://open.krx.co.kr/contents/MKD/01/0110/01100305/MKD01100305.jsp

위 주소에서 현재 년도를 조회한 후에 다운로드를 클릭하면 휴장일 관련 정보를 저장해서 사용할 수 있고~ 아래 그림에서 보시는 바와 같이 현재는 2025년도 휴장일까지 검색해서 저장 가능합니다.

오늘은 이러한 방식 말고 적절한 파이썬 라이브러리를 사용하여 개장/휴장일을 확인하는 방법을 소개해 보려 합니다. 제가 찾아보니 휴장일을 알려주는 라이브러리로는 pandas-market-calendars, trading-calendars, exchange_calendars를 찾을 수 있었습니다. 뭐 설치 방법이야 각각 pip install <라이브러리명>을 하면 되는 것이고~ 각 라이브러리의 홈페이지는 아래와 같습니다.

https://github.com/rsheftel/pandas_market_calendars

https://github.com/quantopian/trading_calendars

https://github.com/gerrymanoim/exchange_calendars

그중에서 저는 exchange_calendars 를 주로 사용해 보고 있는데~ 아래와 같이 is_session() 함수를 통해 휴장일 유무를 확인할 수 있습니다.

import exchange_calendars as ecals

XKRX = ecals.get_calendar("XKRX") # 한국 코드
print(XKRX.is_session("2021-09-20")) # 2021-09-20 은 개장일인지 확인
print(XKRX.is_session(datetime.date.today().strftime("%Y-%m-%d"))) # 오늘은 개장일인지 확인
print(XKRX.next_open(pd.Timestamp.today())) # 다음 개장일은 언제인지 확인

아래 그림과 같이 정상적으로 휴장일/개장일을 구분 할 수 있는 것을 확인할 수 있었습니다.

exchange_calendars 사용

반응형

댓글