미국 주식 시장 개장 여부 확인
오늘 미국 주식 시장의 개장 여부와 휴장일 정보를 확인하십시오. 거래 시간 및 주문 처리 방식도 상세히 안내합니다.
미국 주식 시장은 월요일부터 금요일, 동부 표준시 기준 오전 9시 30분부터 오후 4시까지 운영됩니다. 단, 예정된 공휴일과 일부 오후 1시 조기 종료일은 제외됩니다. 따라서 "오늘 주식 시장이 열려 있는가?"라는 질문은 세 가지 사항을 확인하는 과정으로 요약됩니다. 첫째는 평일 여부, 둘째는 공휴일 일정 포함 여부, 셋째는 세션 내 현재 시간입니다. 본 페이지는 새로고침 시마다 실시간 거래소 기록을 바탕으로 이 세 가지를 모두 대조합니다. 상단의 "data as of" 표시는 데이터의 최신성을 나타냅니다. 세션별 운영 시간은 주식 시장 운영 시간을, 전체 일정은 시장 공휴일 및 조기 종료를 참조하십시오.
현재 주식 시장이 개장 중입니까?
아래 패널은 이 페이지의 데이터가 마지막으로 갱신된 시점의 답변을 계산합니다. 요일을 확인하고, 거래소 휴장일 목록에서 오늘 날짜를 조회하며, 동부 표준시(ET)를 기준으로 공식 거래 시간 내외 여부를 판단합니다. 프리마켓(premarket)은 오전 4시부터, 정규 세션(regular session)은 오전 9시 30분부터, 애프터아워(after-hours)는 장 마감 후부터 오후 8시까지입니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH
toTimeZone(now(), 'America/New_York') AS now_et,
toDate(now_et) AS today_et,
toHour(now_et) * 60 + toMinute(now_et) AS min_now,
(SELECT countDistinct(date) FROM global_markets.stocks_market_holidays
WHERE date = toDate(toTimeZone(now(), 'America/New_York')) AND status = 'closed') AS today_full_holiday,
(SELECT countDistinct(date) FROM global_markets.stocks_market_holidays
WHERE date = toDate(toTimeZone(now(), 'America/New_York')) AND status = 'early-close') AS today_early,
(SELECT any(name) FROM global_markets.stocks_market_holidays
WHERE date = toDate(toTimeZone(now(), 'America/New_York'))) AS today_holiday_name,
if(today_early = 1, 780, 960) AS close_min,
if(today_early = 1, 1020, 1200) AS after_hours_end,
(SELECT min(d) FROM (SELECT toDate(toTimeZone(now(), 'America/New_York')) + arrayJoin(range(1, 11)) AS d)
WHERE toDayOfWeek(d) <= 5
AND d NOT IN (SELECT date FROM global_markets.stocks_market_holidays WHERE status = 'closed')) AS next_sess_after_today,
toDayOfWeek(today_et) <= 5 AND today_full_holiday = 0 AS today_is_session
SELECT
toString(today_et) AS date_checked,
formatDateTime(today_et, '%W') AS weekday,
formatDateTime(now_et, '%H:%i') AS time_checked_et,
multiIf(toDayOfWeek(today_et) >= 6, 'weekend',
today_full_holiday = 1, concat('holiday — ', today_holiday_name),
today_early = 1, concat('early close (1:00 pm) — ', today_holiday_name),
'normal weekday') AS todays_calendar,
multiIf(NOT today_is_session, 'CLOSED',
min_now < 240, 'CLOSED (overnight)',
min_now < 570, 'PREMARKET',
min_now < close_min, 'OPEN',
min_now < after_hours_end, 'AFTER-HOURS',
'CLOSED (overnight)') AS market_status,
toString(if(today_is_session AND min_now < close_min, today_et, next_sess_after_today)) AS next_regular_session,
dateDiff('day', today_et, if(today_is_session AND min_now < close_min, today_et, next_sess_after_today)) AS days_to_next_sessionFriday 2026-07-24 09:00 (ET) 기준, 계산된 상태는 PREMARKET이며, 오늘 날짜의 기록은 "normal weekday"입니다. 다음 정규 세션 개장 예정 시간은 — 현재 상태가 PREMARKET 또는 OPEN인 경우 오늘 중으로 — 2026-07-24입니다. 해당 날짜는 주말과 모든 전체 휴장일을 제외하며, 긴 연휴 기간이라도 몇 일 이상 차이가 나지 않습니다. 이 정보를 나중에 확인하시나요? 요일, 아래의 휴장일 표, ET 시계라는 세 가지 확인 절차를 수동으로 수행하는 데는 몇 초밖에 걸리지 않습니다.
다음 예정된 휴장 및 이후 일정
향후 일정은 거래소 피드에서 직접 가져옵니다. 주의할 점은, 오늘이 휴장일이거나 조기 종료일인 경우 해당 날짜가 표에 포함된다는 것입니다. 쿼리는 엄밀히 말해 오늘 이후가 아니라 오늘부터 시작되는 모든 휴장일을 요청하기 때문입니다. 따라서 공휴일 오전에는 첫 번째 행과 상단의 상태 패널 내용이 일치합니다.
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT toString(date) AS closure_date,
formatDateTime(date, '%a') AS falls_on,
any(name) AS holiday,
any(status) AS day_status,
any(if(status = 'early-close', formatDateTime(toTimeZone(close, 'America/New_York'), '%H:%i'), '')) AS closes_at_et,
dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE exchange = 'NYSE' AND date >= today()
GROUP BY date
ORDER BY date
LIMIT 16다음 예정된 휴장일은 데이터 갱신 시점으로부터 45일 후인 2026-09-07 (closed)의 Labor Day입니다. 이 표에 포함되지 않은 모든 평일은 9:30–4:00의 정상 세션으로 운영됩니다. 조기 종료일은 동부 표준시 기준 오후 1:00에 정규 거래가 종료되며, 주로 추수감사절, 크리스마스 이브, 독립기념일(Fourth of July)에 집중됩니다. 해당일에도 종가 경매는 실행되나, 단지 세 시간 일찍 진행될 뿐입니다.
시장은 연간 며칠 동안 휴장합니까?
"연간 약 9일 또는 10일의 공휴일"이 일반적인 답변이지만, 이 페이지에서는 추정치 대신 실제 횟수를 계산할 수 있습니다. 거래소 피드(feed)에는 향후 예정된 휴장일만 표시되므로, 이미 지난 휴장일은 기록을 통해 복원합니다. SPY의 정규 세션 분봉(minute bars)이 0개로 기록된 평일은 전체 휴장일이며, 약 절반의 세션(390개 대신 약 210개)이 기록된 날은 조기 종료일입니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH day_bars AS (
SELECT cal.day AS day, ifNull(t.bars, 0) AS bars
FROM (SELECT makeDate(toYear(today()), 1, 1) + arrayJoin(range(370)) AS day) AS cal
LEFT JOIN (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime(makeDate(toYear(today()), 1, 1), 'America/New_York')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
) AS t ON t.d = cal.day
WHERE toDayOfWeek(cal.day) BETWEEN 1 AND 5
AND cal.day <= today() - 4
),
past AS (
SELECT countIf(bars = 0) AS past_full, countIf(bars BETWEEN 120 AND 330) AS past_early
FROM day_bars
),
ahead AS (
SELECT countDistinctIf(date, status = 'closed') AS ahead_full,
countDistinctIf(date, status = 'early-close') AS ahead_early
FROM global_markets.stocks_market_holidays
WHERE date > today() - 4 AND toYear(date) = toYear(today())
)
SELECT category, already_passed, still_ahead, already_passed + still_ahead AS total, toString(toYear(today())) AS calendar_year
FROM (
SELECT 'full closure' AS category, past.past_full AS already_passed, ahead.ahead_full AS still_ahead, 1 AS ord FROM past, ahead
UNION ALL
SELECT 'early close (1:00 pm)' AS category, past.past_early AS already_passed, ahead.ahead_early AS still_ahead, 2 AS ord FROM past, ahead
)
ORDER BY ord2026은 10번의 전체 휴장을 포함합니다. 이 중 7번은 이미 경과하였고, 3번은 아직 남아 있습니다. 여기에 2번의 오후 1시 조기 종료가 예정되어 있으며, 그중 2번이 남아 있습니다. (최근 며칠 이내의 휴장일은 기록 수집 지연으로 인해 일시적으로 양쪽 집계 모두에 포함되지 않을 수 있으나, 다음 갱신 시 데이터가 자동으로 수정됩니다.) 주말이 나머지 휴장일을 차지합니다. 365일에서 약 104일의 주말과 이러한 공휴일을 제외하면, 1년은 약 250거래일이 남습니다.
시장 체결 내역: 가장 최근 세션
달력은 발생해야 할 일을 나타내지만, 체결 내역(the tape)은 실제로 발생한 일을 나타냅니다. 아래 패널은 SPY 분봉 체결 내역에서 관측된 가장 최근 세션, 해당 세션의 봉 개수, 당일 기록된 SPY 옵션 거래 건수, 그리고 전체 체결 내역 중 가장 최근의 반일 거래(half-day) 정보를 제공합니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH rth AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 450
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
),
last_sess AS (
SELECT max(d) AS last_d
FROM rth
WHERE bars >= 120 AND d < toDate(toTimeZone(now(), 'America/New_York'))
),
opt AS (
SELECT round(count() / 1e3, 0) AS spy_option_prints_thousands
FROM global_markets.options_trades
WHERE ticker >= 'O:SPY2' AND ticker < 'O:SPY3'
AND sip_timestamp >= toDateTime((SELECT last_d FROM last_sess), 'America/New_York')
AND sip_timestamp < toDateTime((SELECT last_d FROM last_sess) + 1, 'America/New_York')
),
last_early AS (
SELECT toString(max(d)) AS last_early_close_date,
argMax(bars, d) AS its_bars
FROM rth WHERE bars BETWEEN 120 AND 330
)
SELECT toString((SELECT last_d FROM last_sess)) AS most_recent_session,
formatDateTime((SELECT last_d FROM last_sess), '%W') AS weekday,
(SELECT bars FROM rth WHERE d = (SELECT last_d FROM last_sess)) AS regular_minute_bars,
(SELECT spy_option_prints_thousands FROM opt) AS spy_option_prints_thousands,
(SELECT last_early_close_date FROM last_early) AS last_early_close,
(SELECT its_bars FROM last_early) AS early_close_bars우리 체결 내역상 가장 최근 세션은 2026-07-22 (Wednesday)이며, 390개의 정규 세션 분봉이 기록되었습니다. 일반적인 하루 거래는 약 390개의 봉으로 구성되며, 조기 종료 시에는 약 210개가 기록됩니다. 동일 세션에서 약 1302천 건의 개별 SPY 옵션 거래가 발생했습니다. 옵션 시장은 공휴일과 조기 종료일을 포함하여 주식 시장 일정을 따르며, 금요일 휴장일과 겹치는 만기일은 하루 앞당겨집니다. 체결 내역상 가장 최근의 조기 종료는 2025-12-24이며, 211개의 분봉이 기록되었습니다. 이는 오후 1시에 종료되는 반일 거래의 전형적인 형태입니다. 참고 사항: 이 데이터 저장소는 one-to-two-day(하루에서 이틀)의 지연이 발생하므로, 여기서 말하는 "가장 최근 세션"은 실제 최신 세션보다 하루 또는 이틀 늦을 수 있습니다.
예고 없이 시장이 마감될 때
정기 휴장일은 달력에 기록되지만, 비정기 휴장은 그렇지 않습니다. 이러한 사례는 10년 동안 몇 차례에 불과할 정도로 드뭅니다. 거래 기록(tape)에는 390개의 봉(bar)이 생성되어야 할 평일에 아무런 거래도 발생하지 않은 기록이 남아 있습니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH events AS (
SELECT arrayJoin([
(toDate('2012-10-29'), 'Hurricane Sandy — day 1'),
(toDate('2012-10-30'), 'Hurricane Sandy — day 2'),
(toDate('2012-10-31'), 'Reopening after Sandy'),
(toDate('2018-12-05'), 'Mourning — George H. W. Bush'),
(toDate('2025-01-09'), 'Mourning — Jimmy Carter')
]) AS e
),
tape AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND ((window_start >= '2012-10-29 00:00:00' AND window_start < '2012-11-01 12:00:00')
OR (window_start >= '2018-12-05 00:00:00' AND window_start < '2018-12-06 12:00:00')
OR (window_start >= '2025-01-09 00:00:00' AND window_start < '2025-01-10 12:00:00'))
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
)
SELECT toString(e.1) AS closure_date,
formatDateTime(e.1, '%a') AS falls_on,
e.2 AS name,
toUInt32(ifNull(t.bars, 0)) AS spy_regular_session_bars
FROM events
LEFT JOIN tape AS t ON t.d = events.e.1
ORDER BY e.1허리케인 샌디로 인해 2012-10-29와 2012-10-30 양대 거래소가 모두 운영을 중단했습니다. 이는 1888년 이후 처음으로 발생한 며칠간의 기상 악화로 인한 휴장입니다. 2012-10-31에 재개된 세션에서는 390개의 봉이 생성되었습니다. 국가 애도일로 인해 2018-12-05 (George H. W. Bush 대통령)과 2025-01-09 (Jimmy Carter 대통령)에 시장이 마감되었습니다. 현대에 발생한 가장 긴 비정기 휴장은 2001년 9월 11일부터 14일까지 4거래일 동안 지속되었습니다. 이 사건은 2003년부터 시작되는 분 단위 데이터(minute data) 이전의 일입니다. 위에 언급된 각 휴장 사례는 정규 세션 봉이 0개 생성된 것으로 기록되어 있습니다. 즉, 거래가 전혀 이루어지지 않았음을 의미합니다.
시장 폐장 중 접수된 주문은 어떻게 처리됩니까?
시장 폐장 중에는 어떠한 거래도 실행되지 않습니다. 토요일, 공휴일 또는 오전 2시에 제출된 주문은 다음 거래 세션이 시작될 때까지 브로커(broker)의 대기열에 머뭅니다. 대기 중인 시장 주문(market order)은 주문을 실행한 지 며칠이 지난 후 개장 경매(opening auction)를 통해 결정된 가격으로 체결됩니다. 한 세션의 종가와 다음 세션의 첫 체결가 사이의 격차는 투자자가 감수해야 하는 노출(exposure)이며, 이는 측정 가능합니다.
모든 수치 뒤에 숨겨진 정확한 SQL
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
round(argMin(toFloat64(open), window_start), 2) AS open_px,
round(argMax(toFloat64(close), window_start), 2) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 75
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
),
paired AS (
SELECT d,
open_px,
lagInFrame(d) OVER (ORDER BY d) AS prev_d,
lagInFrame(close_px) OVER (ORDER BY d) AS prev_close
FROM daily
)
SELECT concat(formatDateTime(prev_d, '%a '), toString(prev_d)) AS last_session_before,
concat(formatDateTime(d, '%a '), toString(d)) AS reopening_session,
dateDiff('day', prev_d, d) AS days_dark,
toString(prev_close) AS close_before_break,
toString(open_px) AS reopening_print,
round((open_px - prev_close) / prev_close * 100, 2) AS gap_pct
FROM paired
WHERE prev_close > 0 AND dateDiff('day', prev_d, d) >= 3
ORDER BY d위 표는 지난 10번의 주말 및 연휴를 다룹니다. days_dark 열은 4일간의 연휴를 나타냅니다. 가장 최근의 연휴는 Fri 2026-07-17부터 Mon 2026-07-20까지였으며(3일간 시장 휴장), 연휴 전 SPY의 정규 세션 종가는 $743.2였고 재개 시 체결가는 $747.06였습니다. 이는 대기 중인 시장 주문이 확인 없이 수용했을 0.52%의 격차입니다. 지정가 주문(limit order)은 체결되지 않을 위험을 감수하는 대신 가격을 제한합니다. 주식의 오버나이트 갭(gap) 발생 원인에서 이러한 변동의 메커니즘을 확인할 수 있습니다.
시간대, 채권 시장, 그리고 그 외의 세계
세 가지 불일치가 나머지 "시장 개장 여부"에 대한 혼란을 야기합니다. 시간대(Time zones): 공식 운영 시간은 동부 표준시(ET) 기준입니다. 연중 대부분의 경우 오전 9시 30분 ET는 태평양 표준시(PT) 기준 오전 6시 30분이며, 런던 기준 오후 2시 30분입니다. 시장의 날짜는 ET 날짜를 따르므로, 아시아의 독자는 자신의 "오늘"이 두 개의 미국 세션에 걸쳐 있는 상황을 겪을 수 있습니다. 채권 시장(The bond market): 국채(Treasuries)는 NYSE가 아닌 SIFMA 달력을 따릅니다. 이 달력은 모든 주식 시장 공휴일에 두 개의 추가 휴장일을 더합니다. 또한 채권 시장의 조기 종료는 오후 2시 권고 사항으로, 주식 시장의 오후 1시 조기 종료보다 더 자주 발생합니다. 이러한 전일 운영의 차이는 데이터에서 확인할 수 있습니다:
모든 수치 뒤에 숨겨진 정확한 SQL
WITH stock_days AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 370
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
HAVING count() >= 100
)
SELECT toString(d) AS session_date,
formatDateTime(d, '%W') AS weekday
FROM stock_days
WHERE d <= (SELECT max(date) FROM global_markets.treasury_yields)
AND d NOT IN (SELECT date FROM global_markets.treasury_yields WHERE date >= today() - 370)
ORDER BY d지난 1년 동안 주식 시장은 정상 운영되었으나 국채 수익률이 기록되지 않은 평일은 정확히 2일 있었습니다. 2025-10-13 및 2025-11-11일로, 10월과 11월에 각각 한 번씩 발생했습니다. 이는 주식 시장이 정상 운영되는 두 개의 연방 공휴일인 콜럼버스 데이(Columbus Day)와 재향병의 날(Veterans Day)입니다. 그 외의 세계(The rest of the world): 해외 거래소는 자체 달력을 사용하며, 지수 선물(index futures)은 거의 24시간 거래됩니다. 이로 인해 모든 미국 주식 거래소가 폐장 중인 ET 기준 오전 3시에 "주가가 하락 중"이라는 헤드라인이 나올 수 있습니다. 각 미국 세션 전후의 연장 시간(Extended hours)은 ET 기준 오전 4시부터 9시 30분까지, 오후 4시부터 8시까지이며, 거래량이 적고 스프레드(spread)가 넓습니다. 세부 사항은 연장 시간 가이드에서 확인할 수 있습니다.
FAQ
Is the stock market open right now?
As of this page's last data refresh — 09:00 ET on 2026-07-24 — the computed status was PREMARKET. Past the stamp, the rule takes seconds: weekdays 9:30 am to 4:00 pm ET, minus the dates in the holiday table above.
Is the stock market open tomorrow?
Tomorrow is a normal session unless it is a Saturday, a Sunday, or a date in the closure table above. The soonest regular session on the calendar as of this page's refresh — today included, when the market is open — is 2026-07-24.
Is the stock market open on Christmas Eve?
When December 24 falls on a weekday, US stock exchanges typically hold a shortened session that closes at 1:00 pm ET; when it falls on a weekend there is no session at all. Christmas Day is always a full closure — this year's exact dates are in the calendar table above.
Is the stock market open on Black Friday?
Yes. The Friday after Thanksgiving is a scheduled half-day: regular trading ends at 1:00 pm ET instead of 4:00 pm — roughly 210 minute bars on the tape instead of 390.
Is the bond market open today?
Usually when stocks are — but not always. The Treasury market follows the SIFMA calendar: every stock-market holiday plus Columbus Day and Veterans Day, with more frequent (and earlier, 2:00 pm) early closes. The trailing-year tape shows 2 weekdays where stocks traded and Treasury yields did not print.
Every panel above is a stored, versioned query with its exact SQL underneath — expand any panel to audit it. To check any date, session, or gap yourself, ask in plain English on the Strasmore terminal.