Strasmore Research
Leren Matt ConnorDoor Matt Connor · Bijgewerkt 2026-10-18 · data as of October 18, 2026 · refreshed weekly

Openingstijden Amerikaanse aandelenmarkt NYSE en Nasdaq

De reguliere handel op de NYSE en Nasdaq vindt plaats van 09:30 tot 16:00 uur ET. Buiten deze uren is premarket en after-hours trading mogelijk op werkdagen van maandag tot vrijdag.

Openingstijden van de Amerikaanse aandelenmarkt

De Amerikaanse aandelenmarkt is geopend van maandag tot en met vrijdag, van 09:30 tot 16:00 uur Eastern Time. Zowel de NYSE als de Nasdaq openen de reguliere handel om 09:30 uur ET en sluiten deze om 16:00 uur ET. Rondom deze reguliere sessie bevinden zich twee uitgebreide handelsvensters: premarket trading vanaf 04:00 uur ET en after-hours trading tot 20:00 uur ET. In het weekend en op ongeveer tien feestdagen per jaar zijn de markten gesloten. Elk cijfer op deze pagina is gebaseerd op daadwerkelijke handelsgegevens, waarbij de exacte query achter elk getal met één klik inzichtelijk is. (Voor de beknopte versie, de volgende sluiting en de meest recente sessie, zie is de aandelenmarkt vandaag geopend.)

Hoe laat openen en sluiten de aandelenmarkten?

De reguliere handelssessie, de uren die de koersen, indexniveaus en het avondnieuws beschrijven, loopt van de openingsbel om 09:30 uur ET tot de slotbel om 16:00 uur ET: zes en een half uur, vijf dagen per week. Beide grote Amerikaanse beurzen hanteren dezelfde tijden en een standaard brokerage-order werkt standaard binnen dit tijdsbestek.

De volledige elektronische handelsdag is ruimer dan de tijden van de bellen:

  • Premarket: 04:00 uur tot 09:30 uur ET, elektronische handel vóór de openingsbel.
  • Reguliere sessie: 09:30 uur tot 16:00 uur ET, waar het grootste deel van de dagelijkse handel plaatsvindt.
  • After-hours: 16:00 uur tot 20:00 uur ET, elektronische handel na de slotbel.

Twee veilingen vormen het kader van de reguliere dag. Een openingsveiling bepaalt de officiële openingskoers van elk aandeel om 09:30 uur, en de slotveiling, een enkele enorme gematchte transactie kort na 16:00 uur, bepaalt de officiële slotkoers die die avond overal wordt geciteerd. Alle tijden op deze pagina zijn in Eastern Time: dezelfde reguliere sessie loopt van 06:30 uur tot 13:00 uur aan de Amerikaanse westkust.

Hoe zien beursuren eruit op de tape?

Definities zijn één ding; de tape is het bewijs. De onderstaande panelen tonen een recente volledige sessie op de SPY-tape, 2026-10-14, een Wednesday, de meest recente sessie waarvan de gegevens volledig zijn (de datafeed loopt één of twee dagen achter), geverifieerd door het tellen van de minuutbars tijdens de reguliere sessie: 390 in totaal, één voor elke minuut tussen de openings- en sluitingsbel. De eerste bar van de sessie verscheen om 04:00 ET en de laatste om 19:59 ET; de tape beslaat de volledige uitgebreide handelsdag, van 04:00 uur tot 20:00 uur.

QueryEen volledige handelsdag op de SPY-tape, onderverdeeld per sessievenster (meest recente volledige sessie)
sessiedatumweekdagregular session barseerste bar minuut v/d daglaatste bar minuut v/d dageerste bar ETlaatste bar ETtotaal aantal shares (m)premarket pctregular pctpost close 30min pctevening pcteerste 30min pctlaatste 30min pctmidday half hour pct
2026-10-14Wednesday390240119904:0019:5955.72.686.292.18.125.13.5
De exacte SQL achter elk getal
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
Voer het zelf uit

De verdeling van het volume is de belangrijkste les. Deze wordt trade voor trade afgelezen van de geconsolideerde tape, waarbij de print van de slotveiling meetelt voor de reguliere sessie die deze afsluit. Van de 55.7 miljoen SPY-aandelen die over die volledige periode van zestien uur werden verhandeld, nam de reguliere sessie 86.2% voor haar rekening. De premarket van vijf en een half uur was goed voor 2.6%. Het half uur direct na de slotbel was goed voor 9%, een venster waarin grote onderhandelde transacties worden gerapporteerd aan de tape zodra de sessie eindigt, en de resterende drie en een half uur in de avond waren samen goed voor 2.1%.

Buckets van een half uur tonen het verloop van de dag:

QuerySPY-volume per half uur, van premarket tot after-hours (dezelfde sessie, ET-tijd)
32 rows (showing 20)
ET half hourshares (m)
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
De exacte SQL achter elk getal
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
Voer het zelf uit

Tijdens deze sessie was het laatste half uur, inclusief de veilingprint, goed voor 25.1% van het totale dagvolume, tegenover 3.5% voor het half uur rond de lunch van 12:30 tot 13:00 uur; het eerste half uur was goed voor 8.1%. De zware slotfase heeft een mechanisch anker: indexfondsen, beleggingsfondsen en institutionele partijen die hun resultaten benchmarken, voeren transacties uit tegen officiële slotkoersen, en hun orders worden gebundeld in de slotveiling. In totaal werd het volume verdeeld over 32 afzonderlijke buckets van een half uur gedurende de uitgebreide handelsdag.

Wat zijn premarket en after-hours trading?

Premarket (04:00 tot 09:30 uur ET) en after-hours (16:00 tot 20:00 uur ET) zijn elektronische handelsvensters rondom de reguliere handelsdag. Er zijn minder marktdeelnemers actief, bid-ask spreads zijn breder en de meeste brokers accepteren tijdens deze sessies uitsluitend limit orders. Bedrijfsnieuws concentreert zich in deze periodes: kwartaalcijfers worden vaak vlak na de sluiting om 16:00 uur of in de uren vóór opening bekendgemaakt; dit zijn de momenten waarop de koers van een aandeel ver kan afwijken van de slotkoers van de vorige dag. Een koers die om 19:00 uur wordt gevormd, biedt geen enkele garantie voor de openingskoers van de volgende ochtend.

Volumeaandelen per sessie, gemeten bid-ask spread kosten en het tijdstip waarop nieuwsberichten daadwerkelijk verschijnen, zijn allemaal terug te vinden in after-hours en premarket trading, het begeleidende artikel bij deze pagina. De korte versie, zichtbaar in de bovenstaande panelen: uitgebreide handelssessies zijn reëel en verhandelbaar, maar de liquiditeit is gering in vergelijking met de reguliere handelsdag.

Wat zijn de handelstijden voor opties en futures?

Opties op individuele bedrijven worden verhandeld van 09:30 tot 16:00 uur ET; er is geen premarket- of after-hours-handel. Opties op een selecte lijst van breed samengestelde ETF's en indexproducten, zoals SPY, QQQ, IWM, en indexopties zoals SPX en VIX, krijgen vijftien minuten extra tot 16:15 uur ET. De tape toont de splitsing op 2026-10-14, dezelfde sessie als hierboven gemeten:

QuerySingle-name vs. ETF-opties bij de 4:00 p.m. bell: AAPL- en SPY-optietransacties rond de sluiting (dezelfde sessie)
contractsessiedatumtrades 3:45-4:00trades 4:00-4:15laatste trade ETlaatste trade minuut v/d dag
AAPL options (single name)2026-10-1411803316:00960
SPY options (ETF)2026-10-14644342969816:14974
De exacte SQL achter elk getal
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
Voer het zelf uit

De laatste vijftien minuten van de reguliere sessie waren druk op beide tapes: 11803 AAPL-optietransacties, 64434 SPY. De vijftien minuten na de slotbel maakten het onderscheid: AAPL noteerde 3 losse prints (de laatste om 16:00 ET), terwijl SPY 29698 transacties liet zien, de laatste om 16:14 ET. Expiratie hanteert een eigen tijdschema; wanneer worden 0DTE-opties verhandeld brengt dit in kaart.

Futures hanteren een volledig ander tijdschema: CME equity-index futures worden bijna vierentwintig uur per dag verhandeld, van zondag 18:00 uur ET tot vrijdag 17:00 uur ET, met een dagelijkse pauze van één uur om 17:00 uur. Deze overnight-tape vormt de basis voor elke kop "futures staan vanochtend hoger". De obligatiemarkt wordt over-the-counter verhandeld volgens de aanbevolen uren van SIFMA, grofweg van 08:00 tot 17:00 uur ET, met een eigen vakantiekalender: obligaties zijn gesloten op Columbus Day en Veterans Day, terwijl de aandelenbeurzen dan wel geopend zijn.

Wanneer is de aandelenbeurs gesloten?

De Amerikaanse aandelenbeurzen zijn in het weekend gesloten, evenals op ongeveer tien volledige feestdagen per jaar. Daarnaast zijn er enkele geplande halve handelsdagen waarop de beurs om 13:00 uur ET sluit. De onderstaande kalender is direct afkomstig van het beursschema en wordt automatisch bijgewerkt: zodra een feestdag is verstreken, verdwijnt deze en schuift de volgende in de rij op.

QueryAankomende Amerikaanse beursvakanties en vervroegde sluitingen, volgens de beurskalender
feestdagdatumweekdagfeestdagdagstatusearly close ETdagen verwijderd
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
De exacte SQL achter elk getal
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
Voer het zelf uit

De eerstvolgende geplande sluiting is Thanksgiving op 2026-11-26, over 40 dagen. De geladen kalender bevat 12 geplande sluitingen, waarbij telkens wordt aangegeven of het een volledige sluiting of een vervroegde sluiting betreft. Op een dag met een vervroegde sluiting eindigt de reguliere handelssessie om 13:00 uur ET in plaats van om 16:00 uur. Dit betekent drie en een half uur handel in plaats van zes en een half uur, waarbij de slotveiling om 13:00 uur wordt uitgevoerd. Deze halve dagen vallen doorgaans rond Thanksgiving en Kerstmis. De regels voor compensatie in het weekend (bij een feestdag op zaterdag sluit de beurs de vrijdag ervoor, bij een feestdag op zondag de maandag erna), de volledige kalender en de wijze waarop een eerdere sluiting kan worden gecontroleerd via de tape, worden behandeld in beursvakanties en vervroegde sluitingen.

Hoe ziet een halve handelsdag eruit op de tape?

De kalender geeft de vervroegde sluitingen aan; de tape laat zien hoe zo'n dag eruitziet. De meest recente halve dag op de SPY-tape was 2025-12-24, een Wednesday: 210 minutenbalken tijdens de reguliere sessie van 09:30 uur tot de slotveiling om 13:00 uur.

QueryDe meest recente sessie met vervroegde sluiting op de SPY-tape, onderverdeeld per sessievenster
sessiedatumweekdagmorning session barslaatste bar ETlaatste bar minuut v/d dagtotaal aantal shares (m)premarket pctregular pctpost close 30min pctevening pcteerste 30min pctlaatste 30min pctclose minus open pct
2025-12-24Wednesday21016:59101939.91.289.67.81.410.924.213.3
De exacte SQL achter elk getal
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
Voer het zelf uit

Het verloop van een volledige dag blijft behouden in de compressie. Van de 39.9 miljoen SPY-aandelen die werden verhandeld, vond 89.6% plaats tijdens de verkorte reguliere sessie, en het laatste half uur vóór de sluiting om 13:00 uur, inclusief de print van de slotveiling, was goed voor 24.2%. Dit is ruim meer dan de 10.9% van het openingshalfuur; de zwaartekracht van de slotveiling is hetzelfde als op een normale dag, maar dan drie uur naar voren gehaald. Het half uur na de sluiting liet 7.8% zien (opnieuw het venster voor blokrapportages) en de rest van de middag slechts 1.4%. De nabeurs-handel sloot ook eerder: de laatste balk van de dag werd geprint om 16:59 ET; de nabeurshandel eindigt op halve dagen rond 17:00 uur, drie uur eerder dan de gebruikelijke 20:00 uur. Opties sluiten eveneens eerder: om 13:00 uur voor individuele aandelen en om 13:15 uur voor de uitgebreide ETF- en indexcontracten.

QuerySPY-volume per half uur tijdens de sessie met vervroegde sluiting, van premarket tot de verkorte after-hours (ET-tijd)
26 rows (showing 20)
ET half hourshares (m)
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
De exacte SQL achter elk getal
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
Voer het zelf uit

Het volume werd verdeeld over 26 blokken van een half uur, waarbij het bekende patroon van een drukke opening en een zwaardere slotfase werd samengeperst in drie en een half uur.

Hoeveel handelsdagen zitten er in een jaar?

Als men weekenden en feestdagen buiten beschouwing laat, blijven er in een kalenderjaar ongeveer tweehonderdvijftig handelssessies over. Door deze vanaf de tape te tellen, wordt het exacte aantal vastgesteld:

QueryHandelssessies over het afgelopen jaar, geteld vanaf de SPY-tape
handelsdagenVolledige sessiesVerkorte sessiesOnregelmatige sessiesWeekend-sessiesEerste sessieLaatste sessie
2532512002025-10-132026-10-14
De exacte SQL achter elk getal
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
)
Voer het zelf uit

Tussen 2025-10-13 en 2026-10-14 kende de markt 253 reguliere sessies, bestaande uit 251 volledige dagen plus 2 verkorte dagen, en precies 0 weekendsessies; het bewijs van de tape zelf dat er op zaterdag of zondag geen reguliere sessie heeft plaatsgevonden.

Handelsuren op de wereldwijde aandelenmarkten

De Amerikaanse handelsuren vormen slechts één onderdeel van een vrijwel continue wereldwijde rotatie. De London Stock Exchange is geopend van 08:00 tot 16:30 uur lokale tijd; het laatste gedeelte van de handelsdag valt doorgaans samen met de eerste twee uur van de reguliere Amerikaanse sessie, van 09:30 tot 11:30 uur ET. De Europese beurzen sluiten halverwege de ochtend in New York. Tokio handelt van 09:00 tot 15:30 uur lokale tijd, inclusief een lunchpauze, wat volledig buiten de Amerikaanse handelsuren valt. Op vrijwel elke doordeweekse dag is er ergens ter wereld een grote beurs geopend, maar een in de VS genoteerd aandeel genereert alleen prints tijdens de Amerikaanse handelsuren zoals die op deze pagina worden weergegeven.

Veelgestelde vragen over openingstijden van de aandelenmarkt

Hoe laat opent de aandelenmarkt?

De NYSE en Nasdaq openen de reguliere handel om 09:30 uur Eastern Time, van maandag tot en met vrijdag. Elektronische premarket-handel begint veel eerder, om 04:00 uur ET, maar de officiële openingskoers van elk aandeel wordt vastgesteld tijdens de openingsveiling om 09:30 uur.

Is de aandelenmarkt in het weekend geopend?

Nee. Amerikaanse aandelenbeurzen houden geen sessies op zaterdag of zondag; de bovenstaande tape-data van het afgelopen jaar tonen 0 weekendsessies. Na de sluiting op vrijdag om 16:00 uur en de after-hours cutoff om 20:00 uur, hervat de handel op maandag om 04:00 uur met de premarket, feestdagen uitgezonderd.

Wat is premarket- en after-hours-handel?

Elektronische handel buiten de reguliere uren: de premarket loopt van 04:00 tot 09:30 uur ET en de after-hours-handel loopt van 16:00 tot 20:00 uur ET. Beide opereren met minder deelnemers en bredere bid-ask spreads dan de reguliere sessie, en de meeste brokers accepteren daar uitsluitend limit orders.

Wanneer sluit de markt eerder?

Op geplande halve dagen eindigt de reguliere handel om 13:00 uur ET in plaats van 16:00 uur; dit betreft doorgaans de vrijdag na Thanksgiving, kerstavond wanneer deze op een doordeweekse dag valt, en in sommige jaren 3 juli. De tape van het afgelopen jaar toont 2 verkorte sessies.

Wat gebeurt er als de handel in een aandeel bij sluitingstijd is stilgelegd?

Een aandeel dat bij de slotbel nog steeds is stilgelegd, krijgt op die dag geen uitgestelde slotveiling. De beursregels verbieden een heropeningsveiling zodra de handelsstop voorbij ongeveer 15:50 uur ET duurt, dus de handelsstop loopt simpelweg door tot na sluitingstijd. Bij gebrek aan een veiling om een koers vast te stellen, valt de beurs terug op de volume-weighted average price van de eigen transacties van het aandeel in de laatste vijf minuten vóór de handelsstop als officiële slotkoers, en niet simpelweg de laatste transactie. Handelsstops gelden per aandeel; de rest van de markt sluit volgens schema om 16:00 uur.

Sluit de aandelenmarkt om 16:00 of 16:30 uur?

Amerikaanse aandelenbeurzen sluiten de reguliere handel om 16:00 uur ET. Quotes die daarna blijven bewegen, zijn afkomstig uit de after-hours-sessie, die doorloopt tot 20:00 uur ET, en enkele indexproducten worden verhandeld tot 16:15 uur ET.


Markturen zijn een schema; de tape is het bewijs. Elk paneel hierboven is een opgeslagen query die u kunt openen, bewerken en opnieuw kunt uitvoeren op de Strasmore-terminal; controleer elke sessie, elke ticker of de eerstvolgende sluiting in begrijpelijke taal.

#market hours#sessions#trading calendar