Strasmore Research
Обучение Matt ConnorАвтор: Matt Connor · Обновлено 2026-10-18 · data as of October 18, 2026 · refreshed weekly

Во сколько открывается и закрывается фондовый рынок США

Регулярная торговая сессия на биржах NYSE и Nasdaq проходит с девяти тридцати утра до четырех часов дня по восточному времени. Доступны премаркет и постмаркет, выходные закрыты.

19:59
Торги на фондовом рынке США проходят с девяти тридцати утра до четырех часов дня по восточному времени с понедельника по пятницу. NYSE и Nasdaq открывают регулярную торговую сессию в девять тридцати утра и закрывают её в четыре часа дня по восточному времени. Вокруг основной сессии расположены два периода продленных торгов: премаркет, начинающийся в четыре часа утра по восточному времени, и постмаркет, длящийся до восьми часов вечера по восточному времени. По выходным и примерно в десять праздничных дней в году рынки закрыты.

Все показатели на этой странице рассчитаны на основе записей о реальных сделках. Точный запрос, лежащий в основе каждого числа, доступен в один клик. (Для краткого обзора, информации о следующем закрытии и последней сессии см. открыт ли фондовый рынок сегодня).

Во сколько открывается и закрывается фондовый рынок?

Основная торговая сессия, данные которой отражаются в котировках, уровнях индексов и вечерних новостях, проходит с 9:30 до 16:00 по восточному времени (ET): шесть с половиной часов, пять дней в неделю. Обе основные биржи США придерживаются этого графика, и стандартный брокерский ордер по умолчанию исполняется в этот временной интервал.

Полный электронный торговый день шире, чем время работы основных сессий:

  • Премаркет: с 4:00 до 9:30 ET, электронные торги до открытия основной сессии.
  • Основная сессия: с 9:30 до 16:00 ET, время, на которое приходится основной объем торгов.
  • Постмаркет: с 16:00 до 20:00 ET, электронные торги после закрытия основной сессии.

Основной торговый день ограничен двумя аукционами. Аукцион открытия устанавливает официальную цену открытия каждой акции в 9:30, а аукцион закрытия, представляющий собой одну крупную сделку через несколько мгновений после 16:00, определяет официальную цену закрытия, которая публикуется во всех источниках вечером того же дня. Все время на этой странице указано по восточному времени (ET): на западном побережье США та же основная сессия проходит с 6:30 до 13:00.

Как выглядят часы работы фондового рынка на ленте сделок?

Определения — это одно, а лента сделок — это доказательство. Ниже представлены данные по недавней полноценной торговой сессии SPY, 2026-10-14, Wednesday, — последней сессии, данные по которой полностью сформированы (поток данных отстает на один-два дня). Это подтверждается подсчетом минутных баров основной сессии: их 390, по одному на каждую минуту между сигналами открытия и закрытия торгов. Первый бар сессии был зафиксирован в 04:00 по восточному времени, а последний — в 19:59 по восточному времени; лента охватывает весь расширенный торговый день, с четырех часов утра до восьми часов вечера.

ЗапросПолный торговый день по SPY, распределение по сессиям (последняя полная сессия)
Дата сессииДень неделиБары осн. сессииМин. первого бараМин. последнего бараПервый бар (ET)Последний бар (ET)Объем (млн)Премаркет (%)Осн. сессия (%)Постмаркет 30 мин (%)Вечерняя сессия (%)Первые 30 мин (%)Последние 30 мин (%)Полдень 30 мин (%)
2026-10-14Wednesday390240119904:0019:5955.72.686.292.18.125.13.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
Запустите сами

Распределение объема — вот главный урок. Оно считывается сделка за сделкой из консолидированной ленты, при этом объем закрывающего аукциона относится к той основной сессии, которую он завершает. Из 55.7 миллионов акций SPY, проторгованных за весь шестнадцатичасовой период, на основную сессию пришлось 86.2%. На пяти с половиной часовой премаркет пришлось 2.6%. В течение получаса сразу после закрытия торгов было зафиксировано 9% — это временное окно, в которое попадают крупные внебиржевые сделки, отражаемые на ленте после завершения сессии; на оставшиеся три с половиной вечерних часа пришлось 2.1% совокупного объема.

Получасовые интервалы демонстрируют структуру дня:

ЗапросОбъем торгов SPY по получасовым интервалам: от премаркета до постмаркета (текущая сессия, время ET)
32 rows (showing 20)
ET 30 минОбъем (млн)
04:000.05
04:300.02
05:000.01
05:300
06:000.02
06:300.01
07:000.05
07:300.02
08:000.13
08:300.83
09:000.33
09:304.52
10:002.77
10:302.46
11:002.76
11:302.16
12:002.84
12:301.97
13:001.97
13:303.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
Запустите сами

В эту сессию на закрывающий получасовой интервал, включая объем аукциона, пришлось 25.1% от всего дневного объема, тогда как на обеденный интервал с двенадцати тридцати до часа дня — 3.5%; на открывающий получасовой интервал пришлось 8.1%. Высокий объем на закрытии имеет механическое обоснование: индексные фонды, паевые инвестиционные фонды и институциональные инвесторы, ориентирующиеся на бенчмарки, совершают сделки по официальным ценам закрытия, и их заявки аккумулируются в закрывающем аукционе. В общей сложности объем распределился по 32 отдельным получасовым интервалам в течение расширенного торгового дня.

Что такое премаркет и постмаркет?

Премаркет (с 4:00 до 9:30 по восточному времени) и постмаркет (с 16:00 до 20:00 по восточному времени) — это периоды исключительно электронной торговли, примыкающие к основной торговой сессии. В эти часы количество участников рынка меньше, спреды bid-ask шире, а большинство брокеров принимают только лимитные заявки. Именно в это время публикуется основная часть корпоративных новостей: отчеты о доходах выходят сразу после закрытия торгов в 16:00 или за несколько часов до открытия, что приводит к ценовым гэпам относительно уровней предыдущего закрытия. Цена сделки, зафиксированная в 19:00, не дает гарантий относительно цены открытия акций на следующее утро.

Данные по объему торгов в разрезе сессий, показатели стоимости спредов bid-ask и время выхода ключевых новостей представлены в разделе торговля на постмаркете и премаркете — это дополнение к данной странице. Краткий вывод, отраженный на графиках выше: внебиржевые сессии являются реальными и доступными для торговли, однако их ликвидность значительно ниже, чем в основное время.

В какое время торгуются опционы и фьючерсы?

Опционы на акции отдельных компаний торгуются с 9:30 до 16:00 по восточному времени (ET); премаркет и постмаркет отсутствуют. Опционы на ограниченный список ETF широкого рынка и индексных продуктов, таких как SPY, QQQ, IWM, а также индексные опционы, например SPX и VIX, торгуются на пятнадцать минут дольше — до 16:15 по восточному времени. Лента сделок показывает это различие на 2026-10-14, в рамках той же сессии, что рассматривалась выше:

ЗапросОпционы на отдельные акции против ETF на закрытии в 16:00: сделки с опционами AAPL и SPY вблизи закрытия (текущая сессия)
КонтрактДата сессииСделки 15:45–16:00Сделки 16:00–16:15Последняя сделка (ET)Мин. последней сделки
AAPL options (single name)2026-10-1411803316:00960
SPY options (ETF)2026-10-14644342969816:14974
Точный 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
Запустите сами

Последние пятнадцать минут основной сессии были активными на обеих лентах: 11803 сделок с опционами AAPL, 64434 — с SPY. Пятнадцатиминутный период после закрытия торгов разделил их: по AAPL прошло 3 случайных сделок (последняя в 16:00 по восточному времени), в то время как по SPY было зафиксировано 29698 сделок, последняя из которых прошла в 16:14 по восточному времени. У экспирации свой график, когда торгуются опционы 0DTE описывает его.

Фьючерсы работают по совершенно иному графику: фьючерсы на фондовые индексы CME торгуются почти круглосуточно, с 18:00 воскресенья до 17:00 пятницы по восточному времени с ежедневным часовым перерывом в 17:00. Именно ночная лента стоит за каждым заголовком о том, что «фьючерсы сегодня утром растут». Рынок облигаций торгуется во внебиржевом режиме в часы, рекомендованные SIFMA, примерно с 8:00 до 17:00 по восточному времени, и имеет собственный календарь праздников: облигации закрыты в День Колумба и День ветеранов, в то время как акции торгуются.

Когда закрыт фондовый рынок?

Фондовые рынки США закрываются на выходные, примерно на десять праздничных дней в году, а также работают по сокращенному графику до 13:00 по восточному времени в несколько запланированных полудней. Приведенный ниже календарь составлен непосредственно на основе расписания бирж и обновляется автоматически: каждый праздник исчезает по мере прохождения, а следующий за ним перемещается вверх.

ЗапросПредстоящие праздничные и сокращенные торговые дни на фондовом рынке США согласно календарю биржи
Дата праздникаДень неделиПраздникСтатус дняРаннее закрытие (ET)Дней до
2026-11-26ThuThanksgivingclosed40
2026-11-27FriThanksgivingearly-close01:00 PM41
2026-12-24ThuChristmasearly-close01:00 PM68
2026-12-25FriChristmasclosed69
2027-01-01FriNew Years Dayclosed76
2027-01-18MonMartin Luther King, Jr. Dayclosed93
2027-02-15MonWashington's Birthdayclosed121
2027-03-26FriGood Fridayclosed160
2027-05-31MonMemorial Dayclosed226
2027-06-18FriJuneteenthclosed244
2027-07-05MonIndependence Dayclosed261
2027-09-06MonLabor Dayclosed324
Точный 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 предстоящих дат закрытия, каждая из которых отмечена как полное закрытие или сокращенный торговый день. В день с сокращенным графиком основная сессия завершается в 13:00 по восточному времени вместо 16:00, что составляет три с половиной часа торгов вместо шести с половиной, а закрывающий аукцион фиксирует сделки в 13:00. Такие сокращенные дни приходятся на период вокруг Дня благодарения и Рождества. Правила переноса выходных дней (если праздник выпадает на субботу, рынок закрывается в предшествующую пятницу, если на воскресенье — в следующий понедельник), полный календарь и способы проверки прошлых закрытий по ленте сделок описаны в разделе праздничные дни и сокращенные торговые сессии на фондовом рынке.

Как выглядит сокращенный торговый день на ленте?

Календарь определяет даты раннего закрытия торгов, а лента показывает, как это выглядит на практике. Последний сокращенный день по SPY пришелся на 2025-12-24, что составило Wednesday: 210 минутных баров основной сессии с 9:30 утра до закрывающего аукциона в 13:00.

ЗапросПоследняя сокращенная торговая сессия по SPY, распределение по сессиям
Дата сессииДень неделиУтренние барыПоследний бар (ET)Мин. последнего бараОбъем (млн)Премаркет (%)Осн. сессия (%)Постмаркет 30 мин (%)Вечерняя сессия (%)Первые 30 мин (%)Последние 30 мин (%)Закрытие/Открытие (%)
2025-12-24Wednesday21016:59101939.91.289.67.81.410.924.213.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%, а на последние полчаса перед закрытием в 13:00, включая сделку на закрывающем аукционе, — 24.2%. Это значительно превышает 10.9%, зафиксированные в первые полчаса торгов, что подтверждает действие того же эффекта «гравитации» закрывающего аукциона, что и в обычный день, только смещенного на три часа раньше. В течение получаса после закрытия объем составил 7.8% (снова за счет окна отчетности по блочным сделкам), а на остаток дня пришлось лишь 1.4%. Продленные торговые сессии также завершились раньше: последний бар дня был зафиксирован в 16:59 по восточному времени. В сокращенные дни торги после закрытия основной сессии заканчиваются около 17:00, что на три часа раньше обычных 20:00. Опционы также закрываются досрочно: в 13:00 для отдельных акций и в 13:15 для расширенных контрактов на ETF и индексы.

ЗапросОбъем торгов SPY по получасовым интервалам в сокращенную сессию: от премаркета до завершения постмаркета (время ET)
26 rows (showing 20)
ET 30 минОбъем (млн)
04:000.03
04:300
05:000.01
05:300.01
06:000.01
06:300.01
07:000.05
07:300.03
08:000.1
08:300.11
09:000.13
09:304.36
10:003.84
10:303.46
11:004.98
11:303.79
12:005.69
12:309.66
13:003.11
13:300.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 получасовым интервалам, сохранив привычную форму с активным открытием и более тяжелым закрытием, сжатую в три с половиной часа.

Сколько торговых дней в году?

Если исключить выходные и праздничные дни, в календарном году остается примерно двести пятьдесят торговых сессий. Подсчет по ленте сделок позволяет определить точное число:

ЗапросКоличество торговых сессий за последний год по данным SPY
Торговые дниПолные сессииСокращенные сессииНерегулярные сессииСессии в выходныеПервая сессияПоследняя сессия
2532512002025-10-132026-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 сессия в выходной день; это подтверждение ленты сделок о том, что в субботу или воскресенье регулярные торги не проводились.

Торговые сессии на мировых фондовых рынках

Американская торговая сессия — это лишь часть практически непрерывного глобального цикла. Лондонская фондовая биржа работает с восьми утра до четырех тридцати вечера по местному времени. Ее финальный отрезок обычно совпадает с первыми двумя часами основной сессии в США, с девяти тридцати до одиннадцати тридцати утра по восточному времени; закрытие европейских площадок приходится на середину нью-йоркского утра. Токийская биржа работает с девяти утра до трех тридцати дня по местному времени с перерывом на обед, что полностью укладывается в период, когда рынки США закрыты. В любой будний день где-то обязательно открыта крупная биржа, однако сделки с акциями, имеющими листинг в США, проходят только в американские торговые часы, указанные на этой странице.

Часто задаваемые вопросы о торговых часах фондового рынка

Во сколько открывается фондовый рынок?

NYSE и Nasdaq начинают регулярные торги в девять тридцать утра по восточному времени, с понедельника по пятницу. Электронные премаркет-торги начинаются значительно раньше, в четыре часа утра по восточному времени, однако официальная цена открытия каждой акции устанавливается на аукционе открытия в девять тридцать утра.

Работает ли фондовый рынок по выходным?

Нет. Американские биржи не проводят сессии в субботу или воскресенье; данные ленты сделок за прошедший год, приведенные выше, показывают 0 сессий в выходные дни. После закрытия торгов в пятницу в четыре часа дня и завершения постмаркета в восемь часов вечера, торговля возобновляется в понедельник в четыре часа утра на премаркете, если не выпадают праздничные дни.

Что такое премаркет и постмаркет?

Это электронная торговля вне рамок регулярной сессии: премаркет длится с четырех часов утра до девяти тридцати утра по восточному времени, а постмаркет — с четырех часов дня до восьми часов вечера по восточному времени. В оба периода количество участников меньше, а спреды bid-ask шире, чем в основную сессию; большинство брокеров принимают там только лимитные заявки.

Когда рынок закрывается раньше?

В дни сокращенных торгов регулярная сессия завершается в час дня по восточному времени вместо четырех часов дня. Обычно это происходит в пятницу после Дня благодарения, в канун Рождества, если он выпадает на будний день, и в некоторых случаях третьего июля. Данные ленты за прошедший год показывают 2 сокращенных сессий.

Что происходит, если торги по акции приостановлены к моменту закрытия?

Если торги по акции остаются приостановленными к моменту закрытия, аукцион закрытия для нее в этот день не проводится. Правила биржи запрещают проведение аукциона возобновления, если приостановка длится дольше, чем примерно три часа пятьдесят минут дня по восточному времени, поэтому приостановка просто продолжается до закрытия. Поскольку аукцион для определения цены не проводится, биржа в качестве официальной цены закрытия использует средневзвешенную по объему цену сделок по этой акции за последние пять минут перед приостановкой, а не просто цену последней сделки. Приостановки касаются отдельных акций, остальной рынок закрывается в четыре часа дня по графику.

Закрывается ли фондовый рынок в четыре или в четыре тридцать?

Американские биржи завершают регулярные торги в четыре часа дня по восточному времени. Котировки, которые продолжают меняться после этого времени, относятся к постмаркету, который длится до восьми часов вечера по восточному времени, а некоторые индексные продукты торгуются до четырех часов пятнадцати минут дня по восточному времени.


Торговые часы — это расписание, а лента сделок — это подтверждение. Каждая панель выше представляет собой сохраненный запрос, который можно открыть, отредактировать и повторно запустить в терминале Strasmore, чтобы проверить любую сессию, любой тикер или дату ближайшего закрытия на простом английском языке.