Strasmore Research
Belajar Matt ConnorOleh Matt Connor · Dikemas kini 2026-07-25 · data as of July 25, 2026 · refreshed weekly

adakah pasaran saham dibuka hari ini

Status buka/tutup pasaran saham AS dikira secara langsung. Semak kalendar hari ini, cuti akan datang, dan cara pesanan dikendalikan semasa pasaran ditutup.

Pasaran saham AS dibuka Isnin hingga Jumaat, 9:30 pagi hingga 4:00 petang Waktu Timur, kecuali pada cuti berjadual dan beberapa penutupan awal jam 1:00 petang — jadi "adakah pasaran saham dibuka hari ini?" tertakluk kepada tiga semakan: adakah hari bekerja, adakah ia dalam kalendar cuti, dan di manakah kedudukan jam dalam sesi. Halaman ini menjalankan ketiga-tiga semakan terhadap rekod bursa langsung pada setiap muat semula, dan cop "data setakat" di atas adalah resit kesegarannya. Untuk jam sesi demi sesi lihat waktu pasaran saham; untuk kalendar penuh, cuti pasaran dan penutupan awal.

Adakah pasaran saham dibuka sekarang?

Panel di bawah mengira jawapan pada masa data halaman ini terakhir dikemas kini. Ia menyemak hari dalam minggu, melihat tarikh hari ini dalam suapan cuti bursa, dan meletakkan jam Waktu Timur di dalam atau di luar tetingkap rasmi: pra-pasaran dari 4:00 pagi, sesi biasa dari 9:30 pagi, selepas waktu dagangan dari penutup hingga 8:00 malam.

PertanyaanStatus pasaran dikira pada muat semula halaman ini: semakan hari bekerja, semakan cuti, dan jam ET
SQL tepat di sebalik setiap nombor
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_session

Setakat 09:00 ET pada Friday, 2026-07-24, status yang dikira menunjukkan PREMARKET, dengan catatan kalendar hari ini "normal weekday". Pembukaan sesi biasa seterusnya dalam jadual — hari ini sendiri apabila status menunjukkan PRAPASARAN atau BUKA — adalah 2026-07-24. Tarikh itu sudah melangkau hujung minggu dan setiap cuti penutupan penuh, dan ia tidak pernah melebihi beberapa hari, walaupun merentasi hujung minggu cuti panjang. Membaca ini lewat daripada cap masa? Tiga semakan yang sama boleh dilakukan dalam beberapa saat secara manual: hari dalam minggu, jadual cuti di bawah, jam ET.

Penutupan berjadual seterusnya — dan segala-galanya selepasnya

Kalendar hadapan datang terus daripada suapan bursa. Satu nuansa yang perlu diketahui: jadual ini merangkumi hari ini jika hari ini sendiri merupakan cuti atau penutupan awal — pertanyaan meminta setiap penutupan dari hari ini ke hadapan, bukan selepasnya — jadi pada pagi cuti, baris pertama dan panel status di atas adalah selari antara satu sama lain.

PertanyaanSetiap penutupan NYSE dan penutupan awal yang akan datang pada suapan kalendar, dengan kiraan undur
SQL tepat di sebalik setiap nombor
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

Gangguan berjadual seterusnya ialah Labor Day pada 2026-09-07 (closed), 45 hari dari cap masa segar semula. Mana-mana hari bekerja yang tiada dalam jadual ini ialah sesi biasa 9:30–4:00. Hari penutupan awal menamatkan dagangan biasa pada 1:00 petang Waktu Timur dan berkumpul di sekitar Kesyukuran, Malam Krismas, dan Hari Keempat Julai; lelongan penutup masih berjalan pada hari-hari tersebut — ia hanya dicetak tiga jam lebih awal.

Berapa hari pasaran ditutup setiap tahun?

"Kira-kira sembilan atau sepuluh hari cuti setahun" adalah jawapan biasa — halaman ini boleh mengira dan bukannya menganggarkan. Suapan bursa hanya membawa penutupan yang masih akan datang, jadi yang sudah berlalu diperoleh semula daripada pita: hari bekerja di mana SPY mencetak sifar bar minit biasa sesi biasa adalah penutupan penuh, dan yang mencetak kira-kira separuh sesi (kira-kira 210 bar dan bukannya 390) adalah penutupan awal.

PertanyaanPenutupan tahun kalendar ini: yang telah berlalu (dikira daripada pita) dan yang masih akan datang (daripada kalendar)
SQL tepat di sebalik setiap nombor
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 ord

2026 membawa 10 penutupan penuh7 sudah berlalu, 3 masih akan datang — ditambah 2 penutupan awal berjadual pada pukul 1:00 petang, 2 daripadanya masih akan datang. (Penutupan dalam beberapa hari terakhir boleh berada seketika dalam kedua-dua kiraan semasa kelewatan pengambilan pita dibersihkan; pembahagian itu membetulkan sendiri pada muat semula seterusnya.) Hujung minggu melakukan selebihnya penutupan: tolak kira-kira 104 hari hujung minggu dan cuti ini daripada 365, dan setahun meninggalkan kira-kira 250 sesi dagangan.

Resit pita: sesi paling terkini

Kalendar menunjukkan apa yang sepatutnya berlaku; pita menunjukkan apa yang berlaku. Panel di bawah mengambil sesi paling terkini yang sebenarnya diperhatikan pada pita bar minit SPY kami, bilangan bar tersebut, bilangan dagangan opsyen SPY yang dicetak pada hari yang sama, dan separuh hari paling terkini di mana-mana pada pita yang mengikuti.

PertanyaanSesi terbaharu pada pita — kiraan bar, cetakan opsyen SPY hari sama, dan separuh hari terakhir yang diperhatikan
SQL tepat di sebalik setiap nombor
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

Sesi paling terkini pada pita kami ialah 2026-07-22 (Wednesday), yang mencetak 390 bar minit sesi biasa — sehari penuh berjalan sekitar 390, manakala penutupan awal sekitar 210. Sesi yang sama membawa kira-kira 1302 ribu dagangan opsyen SPY individu: pasaran opsyen mengekalkan kalendar ekuiti, termasuk cuti dan separuh hari, dan tamat tempoh yang jatuh pada Jumaat tutup dialihkan sehari. Penutupan awal paling terkini pada pita ialah 2025-12-24, pada 211 bar minit — bentuk yang diukur bagi separuh hari jam 1:00 ptg. Satu nota tepi hadapan: gudang ini menelan dengan kelewatan satu hingga dua hari, jadi "sesi paling terkini" di sini boleh ketinggalan satu atau dua hari dari sesi sebenar terkini.

Apabila pasaran ditutup tanpa amaran

Penutupan berjadual hidup dalam kalendar; penutupan tidak berjadual tidak pernah. Ia jarang berlaku — beberapa kali dalam sedekad — dan pita menyimpan rekodnya: hari bekerja yang sepatutnya mencetak 390 bar dan tidak mencetak langsung.

PertanyaanPenutupan tidak berjadual pada pita: sifar bar sesi biasa pada hari bekerja biasa
SQL tepat di sebalik setiap nombor
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

Taufan Sandy menyebabkan kedua-dua bursa utama gelap pada 2012-10-29 dan 2012-10-30 — penutupan berbilang hari pertama akibat cuaca sejak 1888 — dan sesi pembukaan semula pada 2012-10-31 mencetak penuh 390 bar. Hari berkabung kebangsaan menutup pasaran pada 2018-12-05 (Presiden George H. W. Bush) dan 2025-01-09 (Presiden Jimmy Carter). Penutupan tidak berjadual terpanjang era moden — 11 hingga 14 September 2001, empat sesi berturut-turut — mendahului data minit kami, yang bermula pada 2003. Setiap penutupan di atas menunjukkan pada pita sebagai 0 bar sesi biasa: tiada dagangan.

Apakah yang berlaku pada pesanan yang diletakkan semasa pasaran ditutup?

Tiada apa-apa yang dilaksanakan semasa pasaran ditutup. Pesanan yang dihantar pada hari Sabtu, cuti umum, atau pada pukul 2:00 pagi hanya akan beratur di broker anda sehingga sesi berikutnya, dan pesanan pasaran yang beratur akan dilaksanakan pada harga yang ditentukan oleh lelongan pembukaan — berhari-hari selepas anda mengklik. Jurang antara penutupan satu sesi dan cetakan pertama sesi seterusnya adalah pendedahan yang anda terima, dan ia boleh diukur:

PertanyaanSPY merentas hujung minggu baru-baru ini dan hujung minggu cuti: tutup Jumaat berbanding cetakan pembukaan semula
SQL tepat di sebalik setiap nombor
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

Jadual ini merangkumi 10 hujung minggu dan hujung minggu panjang yang lalu — lajur days_dark menandakan cuti empat hari. Yang terbaru berlangsung dari Fri 2026-07-17 hingga Mon 2026-07-20 (3 hari kalendar gelap): penutupan sesi biasa SPY sebelum cuti ialah $743.2, cetakan pembukaan semula $747.06 — jurang 0.52% yang akan diterima oleh pesanan pasaran yang beratur tanpa dilihat. Pesanan had mengehadkan harga sebaliknya, dengan risiko mungkin tidak dipenuhi; mengapa saham melonjak semalaman menerangkan mekanisme di sebalik pergerakan ini.

Zon waktu, pasaran bon, dan seluruh dunia

Tiga ketidakpadanan menyebabkan kebanyakan kekeliruan "adakah ia dibuka" yang masih ada. Zon waktu: waktu rasmi ialah Waktu Timur — 9:30 pagi ET ialah 6:30 pagi Pasifik dan 2:30 petang London kebanyakan tahun — dan tarikh pasaran ialah tarikh ET, jadi pembaca di Asia boleh mengalami "hari ini" mereka merentasi dua sesi AS. Pasaran bon: Perbendaharaan didagangkan mengikut kalendar SIFMA, bukan kalendar NYSE — ia mematuhi setiap cuti pasaran saham ditambah dua lagi, dan penutupan awalnya ialah syoran 2:00 petang yang berlaku lebih kerap daripada separuh hari 1:00 petang pasaran saham. Perbezaan sepanjang hari dapat dilihat dalam data:

PertanyaanHari bekerja dalam tahun lepas apabila saham didagangkan tetapi tiada hasil Treasury dicetak
SQL tepat di sebalik setiap nombor
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

Dalam tahun lepas, terdapat tepat 2 hari bekerja di mana pasaran saham mengadakan sesi penuh dan tiada hasil Perbendaharaan diterbitkan — 2025-10-13 dan 2025-11-11, satu pada Oktober dan satu pada November: Hari Columbus dan Hari Veteran, dua cuti persekutuan yang ekuiti terus beroperasi. Seluruh dunia: bursa luar negara mempunyai kalendar mereka sendiri, dan niaga hadapan indeks didagangkan hampir sepanjang masa — itulah sebabnya tajuk berita boleh berkata "saham sedang jatuh" pada 3:00 pagi ET sementara setiap bursa saham AS gelap. Waktu lanjutan di sekitar setiap sesi AS berjalan dari 4:00 pagi hingga 9:30 pagi dan 4:00 petang hingga 8:00 malam ET, lebih tipis dan lebih luas sebarannya; mekanismenya terdapat dalam panduan waktu lanjutan.

Soalan Lazim

Adakah pasaran saham dibuka sekarang?

Berdasarkan muat semula data terakhir halaman ini — 09:00 waktu Timur pada 2026-07-24 — status yang dikira ialah PREMARKET. Selepas cap masa itu, peraturannya mudah: hari bekerja 9:30 pagi hingga 4:00 petang waktu Timur, tidak termasuk tarikh dalam jadual cuti di atas.

Adakah pasaran saham dibuka esok?

Esok adalah sesi biasa melainkan ia hari Sabtu, hari Ahad, atau tarikh dalam jadual penutupan di atas. Sesi biasa terdekat pada kalendar setakat muat semula halaman ini — termasuk hari ini, apabila pasaran dibuka — ialah 2026-07-24.

Adakah pasaran saham dibuka pada Malam Krismas?

Apabila 24 Disember jatuh pada hari bekerja, bursa saham AS biasanya mengadakan sesi singkat yang ditutup pada 1:00 petang waktu Timur; apabila ia jatuh pada hujung minggu tiada sesi langsung. Hari Krismas sentiasa ditutup sepenuhnya — tarikh tepat tahun ini ada dalam jadual kalendar di atas.

Adakah pasaran saham dibuka pada Black Friday?

Ya. Jumaat selepas Kesyukuran adalah separuh hari berjadual: dagangan biasa tamat pada 1:00 petang waktu Timur dan bukannya 4:00 petang — kira-kira palang 210 minit pada pita dan bukannya 390.

Adakah pasaran bon dibuka hari ini?

Biasanya apabila saham dibuka — tetapi tidak selalu. Pasaran Perbendaharaan mengikut kalendar SIFMA: setiap cuti pasaran saham ditambah Hari Columbus dan Hari Veteran, dengan penutupan awal yang lebih kerap (dan lebih awal, 2:00 petang). Pita tahun lepas menunjukkan 2 hari bekerja di mana saham didagangkan dan hasil Perbendaharaan tidak dicetak.


Setiap panel di atas adalah pertanyaan tersimpan berversi dengan SQL tepat di bawahnya — kembangkan mana-mana panel untuk mengauditnya. Untuk menyemak sebarang tarikh, sesi, atau jurang sendiri, tanya dalam bahasa Inggeris biasa di terminal Strasmore.