미국 주식 시장 개장 및 폐장 시간 안내
미국 주식 시장의 정규 거래 시간은 동부 표준시 기준 오전 9시 30분부터 오후 4시까지입니다. NYSE와 Nasdaq은 주말과 공휴일을 제외하고 운영되며 프리마켓과 애프터마켓을 포함한 연장 거래 시간을 제공합니다.
미국 증시 거래 시간
미국 주식 시장의 정규 거래 시간은 월요일부터 금요일, 동부 표준시(ET) 기준 오전 9시 30분부터 오후 4시까지입니다. NYSE와 Nasdaq 모두 오전 9시 30분에 정규 거래를 시작하여 오후 4시에 마감합니다. 정규 세션 전후로는 두 개의 연장 거래 시간이 존재합니다. 오전 4시부터 시작되는 프리마켓(premarket) 거래와 오후 8시까지 이어지는 애프터마켓(after-hours) 거래가 있으며, 주말과 연간 약 열 번의 공휴일에는 시장이 휴장합니다. 이 페이지의 모든 수치는 실제 체결 기록을 바탕으로 측정되었으며, 각 수치의 근거가 되는 정확한 쿼리는 클릭 한 번으로 확인할 수 있습니다. (한눈에 보는 정보, 다음 휴장일, 최근 거래 세션에 관한 내용은 오늘 주식 시장이 열리나요를 참조하십시오.)
주식 시장의 개장 및 폐장 시간은 언제입니까?
정규 거래 시간은 호가, 지수 수준, 저녁 뉴스 등에서 언급되는 시간대로, 동부 표준시(ET) 기준 오전 9시 30분 개장 벨부터 오후 4시 폐장 벨까지 총 여섯 시간 반 동안 주 5일 운영됩니다. 미국 주요 상장 거래소 두 곳 모두 동일한 시간을 적용하며, 일반적인 증권사 주문은 기본적으로 이 시간대에 맞춰 처리됩니다.
전체 전자 거래 시간은 개장 및 폐장 벨보다 더 넓은 범위를 포함합니다.
- 프리마켓(Premarket): 오전 4시부터 오전 9시 30분(ET), 개장 벨 이전의 전자 거래 시간입니다.
- 정규 세션(Regular session): 오전 9시 30분부터 오후 4시(ET), 하루 거래량의 대부분이 발생하는 시간입니다.
- 애프터마켓(After-hours): 오후 4시부터 오후 8시(ET), 폐장 벨 이후의 전자 거래 시간입니다.
정규 거래 시간의 시작과 끝은 두 번의 경매가 담당합니다. 개장 경매는 오전 9시 30분에 각 종목의 공식 시가를 결정하며, 오후 4시 직후에 이루어지는 대규모 단일 매칭 거래인 종가 경매(closing auction)는 당일 저녁 모든 매체에서 인용되는 공식 종가를 결정합니다. 이 페이지의 모든 시간은 동부 표준시 기준이며, 미국 서부 해안에서는 동일한 정규 세션이 오전 6시 30분부터 오후 1시까지 운영됩니다.
주식 시장의 거래 시간은 테이프(the tape)상에서 어떻게 나타나는가?
정의는 이론일 뿐이며, 테이프가 곧 증거입니다. 아래 패널은 SPY 테이프의 최근 전체 세션을 다룹니다. 2026-10-14, 즉 Wednesday은 기록이 완전히 집계된 가장 최근의 세션입니다(데이터 피드는 하루나 이틀 정도 지연됩니다). 이는 정규 세션의 분 단위 바(minute bars)를 세어 검증했으며, 총 390개로 개장 벨과 폐장 벨 사이의 모든 분을 포함합니다. 해당 세션의 첫 번째 바는 동부 표준시(ET) 04:00에 기록되었고 마지막 바는 19:59에 기록되었으며, 테이프는 오전 4시부터 오후 8시까지의 전체 연장 거래 시간을 포괄합니다.
| 세션 날짜 | 요일 | 정규 세션 바 | 당일 첫 바 분 | 당일 마지막 바 분 | 첫 바 ET(미 동부 표준시) | 마지막 바 ET | 총 거래량(백만 주) | 프리마켓 변동률(%) | 정규장 변동률(%) | 장 마감 후 30분 변동률(%) | 야간장 변동률(%) | 장 초반 30분 변동률(%) | 장 후반 30분 변동률(%) | 장중 30분 변동률(%) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-14 | Wednesday | 390 | 240 | 1199 | 04:00 | 19:59 | 55.7 | 2.6 | 86.2 | 9 | 2.1 | 8.1 | 25.1 | 3.5 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH
(
SELECT max(d)
FROM
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 21
AND window_start < today() - 2
GROUP BY d
HAVING rth_bars = 390
)
) AS session_day
SELECT
toString(session_day) AS session_date,
formatDateTime(session_day, '%W') AS weekday,
b.regular_session_bars AS regular_session_bars,
b.first_bar_minute_of_day AS first_bar_minute_of_day,
b.last_bar_minute_of_day AS last_bar_minute_of_day,
b.first_bar_et AS first_bar_et,
b.last_bar_et AS last_bar_et,
t.total_shares_m AS total_shares_m,
t.premarket_pct AS premarket_pct,
t.regular_pct AS regular_pct,
t.post_close_30min_pct AS post_close_30min_pct,
t.evening_pct AS evening_pct,
t.first_30min_pct AS first_30min_pct,
t.last_30min_pct AS last_30min_pct,
t.midday_half_hour_pct AS midday_half_hour_pct
FROM
(
SELECT
countIf(et_min >= 570 AND et_min < 960) AS regular_session_bars,
min(et_min) AS first_bar_minute_of_day,
max(et_min) AS last_bar_minute_of_day,
formatDateTime(min(et_ts), '%H:%i') AS first_bar_et,
formatDateTime(max(et_ts), '%H:%i') AS last_bar_et
FROM
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et_ts,
toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) AS et_min
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) = session_day
)
) AS b
CROSS JOIN
(
SELECT
round(sum(shares) / 1e6, 1) AS total_shares_m,
round(100.0 * sumIf(shares, NOT is_close AND et_min < 570) / sum(shares), 1) AS premarket_pct,
round(100.0 * sumIf(shares, is_close OR (et_min >= 570 AND et_min < 960)) / sum(shares), 1) AS regular_pct,
round(100.0 * sumIf(shares, NOT is_close AND et_min >= 960 AND et_min < 990) / sum(shares), 1) AS post_close_30min_pct,
round(100.0 * sumIf(shares, NOT is_close AND et_min >= 990) / sum(shares), 1) AS evening_pct,
round(100.0 * sumIf(shares, NOT is_close AND et_min >= 570 AND et_min < 600) / sum(shares), 1) AS first_30min_pct,
round(100.0 * sumIf(shares, is_close OR (et_min >= 930 AND et_min < 960)) / sum(shares), 1) AS last_30min_pct,
round(100.0 * sumIf(shares, NOT is_close AND et_min >= 750 AND et_min < 780) / sum(shares), 1) AS midday_half_hour_pct
FROM
(
SELECT
toFloat64(size) AS shares,
has(conditions, 8) AS is_close,
toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60
+ toMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS et_min
FROM global_markets.stocks_trades
WHERE ticker = 'SPY'
AND sip_timestamp >= toDateTime(session_day, 'America/New_York')
AND sip_timestamp < toDateTime(session_day + 1, 'America/New_York')
AND NOT hasAny(conditions, [15, 16, 38])
)
) AS t거래량의 분포가 핵심입니다. 이는 통합 테이프(consolidated tape)에서 거래별로 집계되며, 종가 경매(closing auction) 체결분은 해당 세션의 정규 거래량에 포함됩니다. 16시간 전체 구간 동안 거래된 55.7백만 주의 SPY 주식 중, 정규 세션이 차지하는 비중은 86.2%였습니다. 5시간 30분간의 프리마켓(premarket) 거래량은 2.6%를 기록했습니다. 폐장 벨 직후 30분 동안은 9%가 기록되었는데, 이 구간은 세션 종료 후 테이프에 보고되는 대규모 협의 거래(negotiated trades)가 포함되는 시간대입니다. 나머지 3시간 30분의 야간 거래 시간 동안 기록된 거래량은 합산하여 2.1%였습니다.
30분 단위의 버킷(buckets)으로 하루의 흐름을 살펴보면 다음과 같습니다.
| ET 30분 단위 | 거래량(백만 주) |
|---|---|
| 04:00 | 0.05 |
| 04:30 | 0.02 |
| 05:00 | 0.01 |
| 05:30 | 0 |
| 06:00 | 0.02 |
| 06:30 | 0.01 |
| 07:00 | 0.05 |
| 07:30 | 0.02 |
| 08:00 | 0.13 |
| 08:30 | 0.83 |
| 09:00 | 0.33 |
| 09:30 | 4.52 |
| 10:00 | 2.77 |
| 10:30 | 2.46 |
| 11:00 | 2.76 |
| 11:30 | 2.16 |
| 12:00 | 2.84 |
| 12:30 | 1.97 |
| 13:00 | 1.97 |
| 13:30 | 3.77 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH
(
SELECT max(d)
FROM
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 21
AND window_start < today() - 2
GROUP BY d
HAVING rth_bars = 390
)
) AS session_day
SELECT
formatDateTime(toStartOfInterval(if(has(conditions, 8),
toTimeZone(sip_timestamp, 'America/New_York') - INTERVAL 10 MINUTE,
toTimeZone(sip_timestamp, 'America/New_York')),
INTERVAL 30 MINUTE), '%H:%i') AS et_half_hour,
round(sum(toFloat64(size)) / 1e6, 2) AS shares_m
FROM global_markets.stocks_trades
WHERE ticker = 'SPY'
AND sip_timestamp >= toDateTime(session_day, 'America/New_York')
AND sip_timestamp < toDateTime(session_day + 1, 'America/New_York')
AND NOT hasAny(conditions, [15, 16, 38])
GROUP BY et_half_hour
ORDER BY et_half_hour이 세션에서 종가 경매 체결분을 포함한 마지막 30분 동안의 거래량은 전체의 25.1%를 차지했으며, 점심시간인 12시 30분부터 1시까지의 30분 동안은 3.5%를 기록했습니다. 개장 후 첫 30분 동안은 8.1%가 기록되었습니다. 장 마감 시 거래량이 집중되는 현상에는 기계적인 요인이 있습니다. 인덱스 펀드, 뮤추얼 펀드, 그리고 벤치마크를 추종하는 기관 투자자들은 공식 종가로 거래를 집행하며, 이들의 주문이 종가 경매에 모이기 때문입니다. 결과적으로 전체 연장 거래 시간 동안 거래량은 32개의 개별 30분 단위 버킷에 나뉘어 기록되었습니다.
프리마켓(장전 거래)과 애프터마켓(장후 거래)이란 무엇인가?
프리마켓(미 동부시간 오전 4시~오전 9시 30분)과 애프터마켓(오후 4시~오후 8시)은 정규 거래 시간 전후에 운영되는 전자 거래 시간대입니다. 이 시간대에는 참여자가 적어 매수-매도 호가 스프레드(bid-ask spread)가 더 넓게 형성되며, 대부분의 증권사는 지정가 주문(limit order)만 허용합니다. 기업 관련 뉴스는 주로 이 시간대에 집중됩니다. 실적 발표는 오후 4시 장 마감 직후나 개장 전 몇 시간 사이에 몰리며, 이때 주가는 전일 종가와 큰 격차를 보이며 갭(gap)을 형성할 수 있습니다. 오후 7시에 체결된 가격이 다음 날 아침 시가를 보장하지는 않습니다.
시간대별 거래량 비중, 측정된 매수-매도 호가 스프레드 비용, 그리고 주요 뉴스가 실제로 발표되는 시간 등은 이 페이지의 보충 자료인 애프터마켓 및 프리마켓 거래에서 확인할 수 있습니다. 상단 패널에서 볼 수 있는 요약 정보는 다음과 같습니다. 연장 거래 시간대는 실제로 존재하며 거래가 가능하지만, 정규 거래 시간에 비해 유동성이 낮습니다.
옵션과 선물 거래 시간은 어떻게 됩니까?
개별 기업 옵션은 동부 표준시(ET) 기준 오전 9시 30분부터 오후 4시까지 거래되며, 프리마켓이나 애프터마켓 거래는 없습니다. SPY, QQQ, IWM과 같은 광범위한 시장 ETF 및 SPX, VIX와 같은 지수 옵션 등 일부 종목은 15분의 추가 거래 시간이 주어져 오후 4시 15분까지 거래됩니다. 테이프(거래 기록)는 위에서 측정한 동일 세션인 2026-10-14의 분할 상황을 보여줍니다.
| 계약 | 세션 날짜 | 3:45-4:00 거래량 | 4:00-4:15 거래량 | 최종 거래 ET | 당일 최종 거래 분 |
|---|---|---|---|---|---|
| AAPL options (single name) | 2026-10-14 | 11803 | 3 | 16:00 | 960 |
| SPY options (ETF) | 2026-10-14 | 64434 | 29698 | 16:14 | 974 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH
(
SELECT max(d)
FROM
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 21
AND window_start < today() - 2
GROUP BY d
HAVING rth_bars = 390
)
) AS session_day
SELECT
if(startsWith(ticker, 'O:SPY'), 'SPY options (ETF)', 'AAPL options (single name)') AS contract,
toString(session_day) AS session_date,
countIf(sip_timestamp >= toDateTime(concat(toString(session_day), ' 15:45:00'), 'America/New_York')
AND sip_timestamp < toDateTime(concat(toString(session_day), ' 16:00:00'), 'America/New_York')) AS trades_345_to_400,
countIf(sip_timestamp >= toDateTime(concat(toString(session_day), ' 16:00:00'), 'America/New_York')
AND sip_timestamp < toDateTime(concat(toString(session_day), ' 16:15:00'), 'America/New_York')) AS trades_400_to_415,
formatDateTime(toTimeZone(max(sip_timestamp), 'America/New_York'), '%H:%i') AS last_trade_et,
toHour(toTimeZone(max(sip_timestamp), 'America/New_York')) * 60
+ toMinute(toTimeZone(max(sip_timestamp), 'America/New_York')) AS last_trade_minute_of_day
FROM global_markets.options_trades
WHERE (startsWith(ticker, 'O:SPY') OR startsWith(ticker, 'O:AAPL'))
AND match(ticker, '^O:(SPY|AAPL)[0-9]{6}[CP][0-9]{8}$')
AND sip_timestamp >= toDateTime(concat(toString(session_day), ' 15:45:00'), 'America/New_York')
AND sip_timestamp < toDateTime(concat(toString(session_day), ' 23:00:00'), 'America/New_York')
GROUP BY contract
ORDER BY contract정규 세션의 마지막 15분 동안 두 테이프 모두 활발한 거래가 이루어졌습니다: 11803 AAPL 옵션 거래, 64434 SPY 거래가 있었습니다. 장 마감 후 15분 동안 거래는 갈라졌습니다. AAPL은 3건의 잔여 거래(마지막 거래는 ET 기준 16:00)를 기록한 반면, SPY는 29698건의 거래를 기록했으며 마지막 거래는 ET 기준 16:14에 이루어졌습니다. 만기일은 별도의 시간 체계를 따르며, 0DTE 옵션 거래 시간에서 이를 확인할 수 있습니다.
선물은 완전히 다른 시간 체계를 따릅니다. CME 주가지수 선물은 일요일 ET 기준 오후 6시부터 금요일 오후 5시까지 거의 24시간 동안 거래되며, 매일 오후 5시에 한 시간 동안 휴장합니다. "오늘 아침 선물이 상승했다"는 모든 헤드라인의 이면에는 이 야간 거래 기록이 있습니다. 채권 시장은 SIFMA가 권장하는 시간인 대략 ET 기준 오전 8시부터 오후 5시까지 장외 거래(OTC)로 진행되며, 자체적인 휴장 일정을 따릅니다. 주식 시장이 열리는 콜럼버스 데이와 재향군인의 날에도 채권 시장은 휴장합니다.
미국 주식시장 휴장일은 언제입니까?
미국 주식시장은 주말과 연간 약 열 번의 전일 휴장일, 그리고 예정된 몇몇 반일 휴장일에는 오후 1시(ET 기준)에 조기 폐장합니다. 아래 달력은 거래소 일정을 직접 반영하여 자동으로 업데이트됩니다. 휴일이 지나면 목록에서 제외되고 다음 휴일이 상단으로 올라옵니다.
| 휴장일 날짜 | 요일 | 휴장일 | 세션 상태 | 조기 마감 ET | 잔여 일수 |
|---|---|---|---|---|---|
| 2026-11-26 | Thu | Thanksgiving | closed | 40 | |
| 2026-11-27 | Fri | Thanksgiving | early-close | 01:00 PM | 41 |
| 2026-12-24 | Thu | Christmas | early-close | 01:00 PM | 68 |
| 2026-12-25 | Fri | Christmas | closed | 69 | |
| 2027-01-01 | Fri | New Years Day | closed | 76 | |
| 2027-01-18 | Mon | Martin Luther King, Jr. Day | closed | 93 | |
| 2027-02-15 | Mon | Washington's Birthday | closed | 121 | |
| 2027-03-26 | Fri | Good Friday | closed | 160 | |
| 2027-05-31 | Mon | Memorial Day | closed | 226 | |
| 2027-06-18 | Fri | Juneteenth | closed | 244 | |
| 2027-07-05 | Mon | Independence Day | closed | 261 | |
| 2027-09-06 | Mon | Labor Day | closed | 324 |
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
toString(date) AS holiday_date,
formatDateTime(date, '%a') AS weekday,
any(name) AS holiday,
any(status) AS day_status,
any(if(status = 'early-close',
formatDateTime(toTimeZone(close, 'America/New_York'), '%I:%i %p'),
'')) AS early_close_et,
dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY date다음 예정된 휴장일은 Thanksgiving이며, 날짜는 2026-11-26입니다. 현재로부터 40일 남았습니다. 현재 달력에는 12건의 휴장 일정이 등록되어 있으며, 각 일정은 전일 휴장 또는 조기 폐장으로 구분됩니다. 조기 폐장일에는 정규 세션이 오후 4시가 아닌 오후 1시에 종료됩니다. 즉, 평소 6시간 30분인 거래 시간이 3시간 30분으로 단축되며, 종가 경매(closing auction)는 오후 1시에 체결됩니다. 이러한 반일 휴장일은 주로 추수감사절과 크리스마스 전후에 집중되어 있습니다. 주말 휴장 규정(토요일 휴일은 금요일 휴장, 일요일 휴일은 월요일 휴장), 전체 달력, 그리고 과거 휴장 기록을 거래 내역(tape)에서 확인하는 방법은 주식시장 휴장일 및 조기 폐장에서 다룹니다.
반일 거래일의 테이프(거래 기록)는 어떤 모습인가
캘린더에는 조기 종료일이 명시되어 있으며, 테이프는 그날의 거래 양상을 보여줍니다. SPY 테이프에서 가장 최근의 반일 거래일은 2025-12-24였으며, 이는 Wednesday: 210개의 정규 세션 분봉으로 오전 9시 30분부터 오후 1시 마감 경매(closing auction)까지 이어졌습니다.
| 세션 날짜 | 요일 | 오전 세션 바 | 마지막 바 ET | 당일 마지막 바 분 | 총 거래량(백만 주) | 프리마켓 변동률(%) | 정규장 변동률(%) | 장 마감 후 30분 변동률(%) | 야간장 변동률(%) | 장 초반 30분 변동률(%) | 장 후반 30분 변동률(%) | 종가-시가 변동률(%) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-12-24 | Wednesday | 210 | 16:59 | 1019 | 39.9 | 1.2 | 89.6 | 7.8 | 1.4 | 10.9 | 24.2 | 13.3 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH
(
SELECT max(d)
FROM
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 400
AND window_start < today() - 2
GROUP BY d
HAVING rth_bars >= 150 AND rth_bars <= 240
)
) AS half_day
SELECT
toString(half_day) AS session_date,
formatDateTime(half_day, '%W') AS weekday,
b.morning_session_bars AS morning_session_bars,
b.last_bar_et AS last_bar_et,
b.last_bar_minute_of_day AS last_bar_minute_of_day,
t.total_shares_m AS total_shares_m,
t.premarket_pct AS premarket_pct,
t.regular_pct AS regular_pct,
t.post_close_30min_pct AS post_close_30min_pct,
t.evening_pct AS evening_pct,
t.first_30min_pct AS first_30min_pct,
t.last_30min_pct AS last_30min_pct,
round(t.last_30min_pct - t.first_30min_pct, 1) AS close_minus_open_pct
FROM
(
SELECT
countIf(et_min >= 570 AND et_min < 780) AS morning_session_bars,
formatDateTime(max(et_ts), '%H:%i') AS last_bar_et,
max(et_min) AS last_bar_minute_of_day
FROM
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et_ts,
toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) AS et_min
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 400
AND toDate(toTimeZone(window_start, 'America/New_York')) = half_day
)
) AS b
CROSS JOIN
(
SELECT
round(sum(shares) / 1e6, 1) AS total_shares_m,
round(100.0 * sumIf(shares, NOT is_close AND et_min < 570) / sum(shares), 1) AS premarket_pct,
round(100.0 * sumIf(shares, is_close OR (et_min >= 570 AND et_min < 780)) / sum(shares), 1) AS regular_pct,
round(100.0 * sumIf(shares, NOT is_close AND et_min >= 780 AND et_min < 810) / sum(shares), 1) AS post_close_30min_pct,
round(100.0 * sumIf(shares, NOT is_close AND et_min >= 810) / sum(shares), 1) AS evening_pct,
round(100.0 * sumIf(shares, NOT is_close AND et_min >= 570 AND et_min < 600) / sum(shares), 1) AS first_30min_pct,
round(100.0 * sumIf(shares, is_close OR (et_min >= 750 AND et_min < 780)) / sum(shares), 1) AS last_30min_pct
FROM
(
SELECT
toFloat64(size) AS shares,
has(conditions, 8) AS is_close,
toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60
+ toMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS et_min
FROM global_markets.stocks_trades
WHERE ticker = 'SPY'
AND sip_timestamp >= toDateTime(half_day, 'America/New_York')
AND sip_timestamp < toDateTime(half_day + 1, 'America/New_York')
AND NOT hasAny(conditions, [15, 16, 38])
)
) AS t전일 거래의 형태는 압축된 시간 속에서도 유지됩니다. 총 39.9백만 주의 SPY 주식이 체결되었으며, 단축된 정규 세션에서 89.6%백만 주가 거래되었습니다. 오후 1시 마감 경매 체결분을 포함한 마감 전 마지막 30분 동안 24.2%백만 주가 거래되어, 개장 후 첫 30분의 10.9%백만 주를 크게 앞질렀습니다. 이는 평소와 같은 마감 경매의 중력(gravity)이 세 시간 앞당겨진 것과 같습니다. 마감 후 30분 동안 7.8%백만 주가 체결되었고(블록 거래 보고 창구), 나머지 오후 시간대에는 1.4%백만 주만이 거래되었습니다. 연장 거래 시간대 역시 일찍 종료되었습니다. 당일 마지막 봉은 16:59 ET에 기록되었으며, 반일 거래일의 시간외 거래는 평소 오후 8시보다 세 시간 앞당겨진 오후 5시경에 종료됩니다. 옵션 거래 또한 조기 마감되어 개별 종목은 오후 1시에, 연장된 ETF 및 지수 계약은 오후 1시 15분에 종료됩니다.
| ET 30분 단위 | 거래량(백만 주) |
|---|---|
| 04:00 | 0.03 |
| 04:30 | 0 |
| 05:00 | 0.01 |
| 05:30 | 0.01 |
| 06:00 | 0.01 |
| 06:30 | 0.01 |
| 07:00 | 0.05 |
| 07:30 | 0.03 |
| 08:00 | 0.1 |
| 08:30 | 0.11 |
| 09:00 | 0.13 |
| 09:30 | 4.36 |
| 10:00 | 3.84 |
| 10:30 | 3.46 |
| 11:00 | 4.98 |
| 11:30 | 3.79 |
| 12:00 | 5.69 |
| 12:30 | 9.66 |
| 13:00 | 3.11 |
| 13:30 | 0.11 |
모든 수치 뒤에 숨겨진 정확한 SQL
WITH
(
SELECT max(d)
FROM
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 400
AND window_start < today() - 2
GROUP BY d
HAVING rth_bars >= 150 AND rth_bars <= 240
)
) AS half_day
SELECT
formatDateTime(toStartOfInterval(if(has(conditions, 8),
toTimeZone(sip_timestamp, 'America/New_York') - INTERVAL 10 MINUTE,
toTimeZone(sip_timestamp, 'America/New_York')),
INTERVAL 30 MINUTE), '%H:%i') AS et_half_hour,
round(sum(toFloat64(size)) / 1e6, 2) AS shares_m
FROM global_markets.stocks_trades
WHERE ticker = 'SPY'
AND sip_timestamp >= toDateTime(half_day, 'America/New_York')
AND sip_timestamp < toDateTime(half_day + 1, 'America/New_York')
AND NOT hasAny(conditions, [15, 16, 38])
GROUP BY et_half_hour
ORDER BY et_half_hour거래량은 26개의 30분 단위 버킷에 분산되었으며, 익숙한 '바쁜 개장, 무거운 마감'의 형태가 세 시간 반으로 압축되어 나타났습니다.
1년의 거래일은 며칠인가?
주말과 공휴일을 제외하면 1년은 대략 이백오십 거래일로 구성됩니다. 시장 기록(tape)을 통해 집계하면 정확한 수치가 산출됩니다.
| 거래일수 | 정규 세션 | 단축 세션 | 비정규 세션 | 주말 세션 | 첫 세션 | 마지막 세션 |
|---|---|---|---|---|---|---|
| 253 | 251 | 2 | 0 | 0 | 2025-10-13 | 2026-10-14 |
모든 수치 뒤에 숨겨진 정확한 SQL
SELECT
count() AS trading_days,
countIf(rth_bars >= 380) AS full_length_sessions,
countIf(rth_bars <= 240) AS shortened_sessions,
countIf(rth_bars > 240 AND rth_bars < 380) AS irregular_sessions,
countIf(is_weekend) AS weekend_sessions,
toString(min(d)) AS first_session,
toString(max(d)) AS last_session
FROM
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
toDayOfWeek(toDate(toTimeZone(window_start, 'America/New_York'))) >= 6 AS is_weekend,
countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 370
AND window_start < today() - 2
GROUP BY d, is_weekend
HAVING rth_bars > 0
)2025-10-13와 2026-10-14 사이 시장은 253회의 정규 세션을 가졌으며, 이는 251회의 온전한 거래일과 2회의 단축 거래일을 합친 수치입니다. 또한 주말 세션은 정확히 0회로, 토요일이나 일요일에는 정규 세션이 열리지 않았음을 시장 기록이 증명합니다.
전 세계 주식시장 거래 시간
미국 시장 거래 시간은 거의 쉼 없이 이어지는 글로벌 순환의 한 단면입니다. 런던증권거래소(LSE)는 현지 시간 기준 오전 8시부터 오후 4시 30분까지 거래되며, 장 마감 직전 구간은 통상 미국 정규장 시작 후 두 시간인 동부 표준시(ET) 기준 오전 9시 30분부터 11시 30분까지와 겹칩니다. 유럽 시장의 마감은 뉴욕 시간으로 오전 중에 이루어집니다. 도쿄 시장은 현지 시간 오전 9시부터 오후 3시 30분까지 거래되며 중간에 점심시간이 있고, 미국 시장의 야간 시간대에 완전히 포함됩니다. 평일에는 거의 언제나 주요 거래소 중 한 곳이 운영되지만, 미국 상장 주식의 체결(print)은 이 페이지에서 측정하는 미국 거래 시간 중에만 발생합니다.
주식시장 거래 시간 FAQ
주식시장은 몇 시에 개장합니까?
NYSE와 Nasdaq의 정규 거래 시간은 월요일부터 금요일, 동부 표준시(ET) 기준 오전 9시 30분입니다. 전자 방식의 프리마켓(pre-market) 거래는 오전 4시부터 훨씬 일찍 시작되지만, 각 종목의 공식 시가는 오전 9시 30분 개장 경매(opening auction)를 통해 결정됩니다.
주식시장은 주말에도 운영됩니까?
아니요. 미국 주식 거래소는 토요일이나 일요일에 세션을 운영하지 않으며, 위 테이프 데이터의 지난 1년 치 기록을 보면 0 주말 세션이 나타납니다. 금요일 오후 4시 정규장 마감과 오후 8시 시간 외 거래(after-hours) 종료 이후, 거래는 공휴일을 제외하고 월요일 오전 4시 프리마켓부터 재개됩니다.
프리마켓과 시간 외 거래란 무엇입니까?
정규 시간 외에 이루어지는 전자 거래를 의미합니다. 프리마켓은 동부 표준시 기준 오전 4시부터 오전 9시 30분까지, 시간 외 거래는 오후 4시부터 오후 8시까지 진행됩니다. 두 세션 모두 정규장보다 참여자가 적고 매수-매도 호가 스프레드(bid-ask spread)가 넓으며, 대부분의 증권사는 지정가 주문(limit order)만 접수합니다.
시장이 조기 마감되는 경우는 언제입니까?
예정된 단축 거래일에는 정규 거래가 오후 4시가 아닌 오후 1시에 종료됩니다. 일반적으로 추수감사절 다음 날, 평일인 크리스마스 이브, 그리고 일부 연도의 7월 3일이 이에 해당합니다. 지난 1년의 테이프 기록을 보면 2 단축 세션이 확인됩니다.
장 마감 시점에 주식 거래가 정지되면 어떻게 됩니까?
장 마감 벨이 울릴 때까지 거래가 정지된 종목은 당일 지연된 마감 경매(closing auction)를 진행하지 않습니다. 거래소 규정상 거래 정지가 동부 표준시 기준 오후 3시 50분경을 넘기면 재개 경매를 열 수 없으므로, 정지 상태가 마감까지 그대로 이어집니다. 가격을 결정할 경매가 없으므로, 거래소는 마지막 거래가가 아닌 거래 정지 직전 5분간 해당 종목의 거래량 가중 평균 가격(VWAP)을 공식 종가로 산정합니다. 거래 정지는 종목별로 이루어지며, 나머지 시장은 예정대로 오후 4시에 마감됩니다.
주식시장은 4시에 마감합니까, 4시 30분에 마감합니까?
미국 주식 거래소의 정규 거래는 동부 표준시 기준 오후 4시에 마감됩니다. 그 이후에도 움직이는 시세는 오후 8시까지 이어지는 시간 외 거래 세션에서 발생하며, 일부 지수 상품은 오후 4시 15분까지 거래됩니다.
시장 운영 시간은 일정이며, 테이프는 거래 내역입니다. 위 모든 패널은 Strasmore 터미널에서 열고, 수정하고, 다시 실행할 수 있는 저장된 쿼리입니다. 모든 세션, 모든 티커(ticker), 또는 다가오는 다음 휴장일을 평이한 언어로 확인할 수 있습니다.