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.
| sessiedatum | weekdag | regular session bars | eerste bar minuut v/d dag | laatste bar minuut v/d dag | eerste bar ET | laatste bar ET | totaal aantal shares (m) | premarket pct | regular pct | post close 30min pct | evening pct | eerste 30min pct | laatste 30min pct | midday half hour pct |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
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 tDe 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:
| ET half hour | shares (m) |
|---|---|
| 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 |
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_hourTijdens 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:
| contract | sessiedatum | trades 3:45-4:00 | trades 4:00-4:15 | laatste trade ET | laatste trade minuut v/d dag |
|---|---|---|---|---|---|
| AAPL options (single name) | 2026-10-14 | 11803 | 3 | 16:00 | 960 |
| SPY options (ETF) | 2026-10-14 | 64434 | 29698 | 16:14 | 974 |
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 contractDe 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.
| feestdagdatum | weekdag | feestdag | dagstatus | early close ET | dagen verwijderd |
|---|---|---|---|---|---|
| 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 |
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 dateDe 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.
| sessiedatum | weekdag | morning session bars | laatste bar ET | laatste bar minuut v/d dag | totaal aantal shares (m) | premarket pct | regular pct | post close 30min pct | evening pct | eerste 30min pct | laatste 30min pct | close minus open pct |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025-12-24 | Wednesday | 210 | 16:59 | 1019 | 39.9 | 1.2 | 89.6 | 7.8 | 1.4 | 10.9 | 24.2 | 13.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 tHet 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.
| ET half hour | shares (m) |
|---|---|
| 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 |
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_hourHet 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:
| handelsdagen | Volledige sessies | Verkorte sessies | Onregelmatige sessies | Weekend-sessies | Eerste sessie | Laatste sessie |
|---|---|---|---|---|---|---|
| 253 | 251 | 2 | 0 | 0 | 2025-10-13 | 2026-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
)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.