pyqqq.utils.market_schedule¶
Constructor¶
|
시장 운영 정보를 담고 있는 클래스입니다. |
|
시장 세션의 운영 시간을 담고 있는 클래스입니다. |
|
시장 세션 종류입니다. |
Attributes¶
운영 여부 |
|
시장 코드 |
|
개장 시간 |
|
폐장 시간 |
|
장 운영이 중단되거나 시간이 조정된 이유 |
|
세션별 운영 시간 목록. |
|
세션 종류 |
|
세션 시작 시간 |
|
세션 종료 시간 |
Methods¶
|
주어진 종류의 세션을 반환합니다. |
|
주어진 종류의 세션을 운영하는지 확인합니다. |
|
주어진 시각에 운영 중인 세션을 반환합니다. |
|
주어진 시각이 세션 운영 시간에 포함되는지 확인합니다. |
Functions¶
|
주식 거래소가 휴장일인지 확인합니다. |
|
주식 거래소가 아직 개장 전인지 확인합니다. |
|
주식 거래소가 이미 폐장 후인지 확인합니다. |
|
주식 거래소가 거래 시간인지 확인합니다. |
|
주식 거래소의 개장/폐장 시간을 확인합니다. |
|
주어진 날짜의 이전 거래일을 반환합니다. |
|
주어진 날짜의 다음 거래일을 반환합니다. |
|
주어진 날짜로부터 주어진 오프셋만큼의 거래일을 반환합니다. |
시장 세션¶
MarketSchedule.sessions 는 하루의 운영 시간을 세션 단위로 나누어 제공합니다.
휴장일이면 빈 목록입니다.
세션 종류 |
설명 |
|---|---|
|
프리마켓. NXT만 운영합니다. |
|
정규장. KRX는 종가 단일가까지 포함합니다. |
|
애프터마켓. KRX는 2026년 9월 14일 부터 운영합니다. |
정상 영업일의 세션 구성은 다음과 같습니다.
거래소 |
적용 기간 |
프리마켓 |
정규장 |
애프터마켓 |
|---|---|---|---|---|
KRX |
~ 2026-09-13 |
- |
09:00 ~ 15:30 |
- |
KRX |
2026-09-14 ~ |
- |
09:00 ~ 15:30 |
16:00 ~ 20:00 |
NXT |
2025-03-04 ~ |
08:00 ~ 08:50 |
09:00:30 ~ 15:20 |
15:40 ~ 20:00 |
조정 사유¶
MarketSchedule.reason 에 따라 세션 구성이 달라집니다.
reason |
세션 산출 방식 |
|---|---|
|
휴장. 세션 목록이 비어 있습니다. |
|
개장일. 개장 시간만 연기되고 정규장 마감과 애프터마켓은 평소와 같습니다. |
|
수능일. 개장이 연기된 만큼 정규장 마감과 애프터마켓 개시도 순연되며, 애프터마켓 종료 시간은 같습니다. |
|
사유가 구분되지 않은 조정. 스케줄의 개장/폐장 시간을 그대로 사용합니다. |
개장이 연기되는 날에는 프리마켓을 운영하지 않으며, 거래소의 운영에 따라 프리마켓과 애프터마켓의 운영 여부나 시간에 조정이 있을 수 있습니다.
import datetime as dtm
from pyqqq.utils.market_schedule import get_market_schedule, MarketSessionType
schedule = get_market_schedule(dtm.date(2026, 9, 14))
for session in schedule.sessions:
print(session.type.value, session.start_time, session.end_time)
# 정규장 마감 시간 (애프터마켓 제외)
print(schedule.get_session(MarketSessionType.REGULAR).end_time)
# 특정 시각에 운영 중인 세션
print(schedule.session_at(dtm.time(18, 0)).type)
regular 09:00:00 15:30:00
after_market 16:00:00 20:00:00
15:30:00
MarketSessionType.AFTER_MARKET