Strasmore Research
Leren Matt ConnorDoor Matt Connor · Bijgewerkt 2026-07-24

Wat is de closing auction closing cross

Ontdek hoe de closing auction om 16:00 uur de officiële slotkoers bepaalt en hoe market-on-close orders zorgen voor de grootste transactie van de dag.

De closing auction (Nasdaq noemt dit de closing cross) is een enkele grote gematchte transactie om 16:00 uur Eastern Time die de officiële slotkoers van elk aandeel vaststelt. In plaats van kopers en verkopers order voor order te matchen, verzamelt de beurs alle orders voor de sluiting gedurende de middag. De beurs matcht vervolgens de gehele pool tegen één prijs in één transactie. Dit vormt het sluitstuk van de opening auction die de dag start. Voor individuele aandelen is dit transactievolume routinematig de grootste transactie van de hele dag. Elk getal op deze pagina is gemeten via de consolidated tape — het unificerende publieke register van elke Amerikaanse aandelenhandel — waarbij de exacte SQL aan elk paneel is gekoppeld.

Wat is de closing auction? Een eenvoudige definitie

Gedurende het grootste deel van de sessie wordt een aandeel continu verhandeld: orders komen binnen, worden gematcht en worden één voor één geregistreerd — bij de meest actieve namen duizenden keren per minuut. De closing auction is een ander mechanisme op dezelfde tape. In het laatste deel van de dag bundelt de beurs alle orders die voor de close zijn gemarkeerd, berekent de prijs waarbij de meeste aandelen worden gematcht, en voert de gehele bundel uit in één enkele transactie om 16:00 uur ET.

De transactie wordt op de publieke tape geregistreerd zoals elke andere trade, voorzien van een eigen label — sale condition 8, "Closing Prints" — en de prijs wordt de officiële closing price die die avond overal wordt geciteerd. De continue markt en de auction zijn niet twee verschillende markten; het is één tape, en de auction is één enorme regel daarop.

Waarom bestaat de closing auction?

De close is de referentieprijs van de markt. Mutual funds berekenen hun dagelijkse net asset value op basis van officiële slotkoersen, index providers berekenen benchmarks op basis van deze koersen, en institutionele desks worden hierop beoordeeld, naast maatstaven zoals VWAP, de volume-weighted average price. Een belegger die transacties uitvoert tegen de slotkoers volgt al deze referenties exact — en de auction is de plek waar die prijs wordt vastgesteld: voor de meeste beleggers de enige plek waar handel tegen die prijs gegarandeerd is.

Dit effect versterkt zichzelf. Grote orders verzamelen zich aan beide zijden, een cross matcht deze tegen de maximale omvang, en een grote order wordt gevuld tegen één enkele prijs in plaats van door de bid-ask spread in de continue markt, waar market makers de hele dag door beide zijden quoten.

De closing auction op de real tape: één print versus de mediane trade

De onderstaande tabel neemt 2 juli 2026 — de laatste sessie voor het feestweekend van 4 juli, een geverifieerde volledige handelsdag (gegevens in de volgende tabel) — en vergelijkt de closing auction voor SPY, AAPL en NVDA met alle andere transacties op hun tape. "Matched volume" verwijst naar het aantal aandelen dat de eigen boekhouding van de tape meetelt voor de geconsolideerde volume; administratieve re-broadcasts (sale conditions 15, 16 en 38) zijn uitgesloten van elke noemer, conform onze tick-by-tick microstructure deep-dive; de onderstaande tabel met code-dictionary is het bewijs.

QueryDe closing auction vs. de rest — SPY, AAPL, NVDA op 2 juli 2026
De exacte SQL achter elk getal
SELECT
    ticker,
    round(toFloat64(maxIf(size, has(conditions, 8))) / 1e6, 2) AS auction_shares_m,
    formatDateTime(toTimeZone(argMaxIf(sip_timestamp, size, has(conditions, 8)), 'America/New_York'), '%H:%i:%S') AS auction_time_et,
    countIf(has(conditions, 8)) AS auction_print_count,
    countIf(has(conditions, 8) AND formatDateTime(toTimeZone(sip_timestamp, 'America/New_York'), '%H:%i:%S') = '16:00:00') AS auction_prints_at_1600,
    round(quantileDeterministicIf(0.5)(toFloat64(size), toUInt64(sip_timestamp), NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38]))) AS median_trade_shares,
    round(toFloat64(maxIf(size, has(conditions, 8))) / quantileDeterministicIf(0.5)(toFloat64(size), toUInt64(sip_timestamp), NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38])) / 1000) AS auction_vs_median_thousand_x,
    round(100 * toFloat64(maxIf(size, has(conditions, 8))) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]))), 1) AS auction_pct_of_volume,
    round(toFloat64(maxIf(size, NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38]))) / 1e6, 2) AS biggest_other_trade_m,
    round(toFloat64(maxIf(size, has(conditions, 8))) / toFloat64(maxIf(size, NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38]))), 2) AS auction_vs_biggest_other_x
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'AAPL', 'NVDA')
  AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
GROUP BY ticker
ORDER BY indexOf(['SPY', 'AAPL', 'NVDA'], ticker)

Lees eerst de rij van AAPL. De mediane AAPL trade die dag was 20 shares. De closing auction omvatte 10.89 miljoen shares in één print — ongeveer 545 duizend keer de mediaan — wat 14.4% van elk AAPL aandeel is dat gedurende de dag is gematcht, inclusief extended hours. De kloof tussen de auction en de mediaan bij NVDA is nog groter — een mediane print van 5 shares tegenover een cross van 17.38 miljoen shares, zijnde 3475 duizend keer de mediaan — terwijl dit 12.2% van de dag vertegenwoordigt. Elke naam vertoont precies één auction print — de auction_print_count kolom is het bewijs — geregistreerd om 16:00:00 ET tot op de seconde (auction_prints_at_1600 geeft de timing aan).

De bewering in de titel heeft zijn eigen bewijs. Bij beide individuele aandelen was de cross de grootste trade van de gehele dag: de grootste continue print van AAPL was 1.8 miljoen shares, de auction was 6.05 keer zo groot; de grootste van NVDA was 5.47 miljoen, de cross was 3.18 keer zo groot. SPY is de uitzondering: één block print van 2.5 miljoen shares was groter dan de cross van 1.65 miljoen shares — bij een intens verhandelde ETF kan een enkele block trade de auction verslaan. SPY vertoont met 2.9% ook het kleinste auction aandeel van de drie — toch was zelfs de cross 66 duizend keer zo groot als de mediane trade van 25 shares.

De officiële slotkoers is de auction, niet de laatste tick

Een veelvoorkomende aanname is dat de slotkoers simpelweg de laatste transactie voor de sluiting is. De tape laat dit anders zien. Het onderstaande overzicht voor AAPL op 2 juli 2026 bevat sessiecontroles voor elke datum in dit bericht: SPY noteerde exact 390, 390 en 390 regular-session minute bars op 16 juni, 30 juni en 2 juli — drie volledige sessies van 9:30 tot 16:00 uur, geverifieerd en niet verondersteld.

QueryDe receipt: AAPL's auction print vs. de laatste continuous trade, 2 juli 2026
De exacte SQL achter elk getal
WITH
    (
        SELECT countIf(window_start >= toDateTime('2026-06-16 09:30:00', 'America/New_York') AND window_start < toDateTime('2026-06-16 16:00:00', 'America/New_York'))
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-16 00:00:00', 'America/New_York') AND window_start < toDateTime('2026-06-17 00:00:00', 'America/New_York')
    ) AS bars_jun16,
    (
        SELECT countIf(window_start >= toDateTime('2026-06-30 09:30:00', 'America/New_York') AND window_start < toDateTime('2026-06-30 16:00:00', 'America/New_York'))
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-30 00:00:00', 'America/New_York') AND window_start < toDateTime('2026-07-01 00:00:00', 'America/New_York')
    ) AS bars_jun30,
    (
        SELECT countIf(window_start >= toDateTime('2026-07-02 09:30:00', 'America/New_York') AND window_start < toDateTime('2026-07-02 16:00:00', 'America/New_York'))
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-07-02 00:00:00', 'America/New_York') AND window_start < toDateTime('2026-07-03 00:00:00', 'America/New_York')
    ) AS bars_jul02,
    (
        SELECT maxIf(sip_timestamp, has(conditions, 8))
        FROM global_markets.stocks_trades
        WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
    ) AS auction_ts,
    (
        SELECT argMaxIf(exchange, size, has(conditions, 8))
        FROM global_markets.stocks_trades
        WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
    ) AS listing_exchange
SELECT
    bars_jun16 AS spy_session_bars_jun16,
    bars_jun30 AS spy_session_bars_jun30,
    bars_jul02 AS spy_session_bars_jul02,
    countIf(has(conditions, 8)) AS auction_print_count,
    toFloat64(argMaxIf(price, size, has(conditions, 8))) AS auction_price,
    formatDateTime(toTimeZone(auction_ts, 'America/New_York'), '%H:%i:%S.%f') AS auction_et,
    toFloat64(argMaxIf(price, (sip_timestamp, sequence_number), sip_timestamp < auction_ts AND NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38]))) AS last_tick_price,
    formatDateTime(toTimeZone(maxIf(sip_timestamp, sip_timestamp < auction_ts AND NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38])), 'America/New_York'), '%H:%i:%S.%f') AS last_tick_et,
    round((toFloat64(argMaxIf(price, size, has(conditions, 8))) - toFloat64(argMaxIf(price, (sip_timestamp, sequence_number), sip_timestamp < auction_ts AND NOT has(conditions, 8) AND NOT hasAny(conditions, [15, 16, 38])))) * 100, 1) AS auction_minus_last_tick_cents,
    countIf(has(conditions, 15)) AS official_close_reprints,
    countIf(has(conditions, 15) AND exchange = listing_exchange) AS listing_venue_reprints,
    round(toFloat64(anyIf(price, has(conditions, 15) AND exchange = listing_exchange)) - toFloat64(argMaxIf(price, size, has(conditions, 8))), 4) AS listing_reprint_price_difference
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL' AND sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'

Continue handel vindt plaats tot het moment van de cross — op deze dag een fractie van een seconde na 16:00:00. De laatste volume-tellende continue transactie van AAPL voor de cross noteerde om 16:00:00.215052 ET op $308.1; om 16:00:00.373202 ET vond de auction plaats tegen $308.6353 cents boven die laatste tick. De officiële slotkoers die avond was de prijs van de auction, niet die van de laatste tick. De tape bevatte vervolgens 2 "Market Center Official Close" berichten (sale condition 15) — elk een registratie van de eigen officiële slotkoers van het betreffende handelsplatform, geen herhalingen van de geconsolideerde slotkoers; handelsplatformen kunnen verschillende prijzen rapporteren. Het bericht van de beurs komt exact overeen met de auction-prijs (het verschil bedraagt 0), en geen van deze berichten verhoogt het volume. De handel gaat nog vier uur lang door in de after-hours session; geen van die transacties beïnvloedt de officiële slotkoers.

Hoe werkt de closing auction? Market-on-close en limit-on-close orders

Twee specifieke ordertypes voor de sluiting voeden de auction — naast gewone limit orders die al in het continuous book staan en ook kunnen deelnemen aan de cross:

  • Een market-on-close (MOC) order wordt uitgevoerd tegen de prijs die de auction vaststelt. Geen prijsbescherming — dit is het nadeel voor de bijna gegarandeerde uitvoering tegen de officiële close (als een aandeel wordt stilgelegd voor de bell, wordt de cross mogelijk niet uitgevoerd en blijven close orders onvervuld).
  • Een limit-on-close (LOC) order neemt alleen deel aan de auction als de auction prijs op het limit of beter ligt. Prijsbescherming, met het risico de cross volledig te missen.

Beide orders blijven bij de exchange staan tot de cross; geen van beide handelt in de continuous market tijdens de periode daarvoor. Exchanges stoppen met het accepteren of wijzigen van close orders in de laatste minuten (de exacte deadlines variëren per exchange en veranderen in de loop van de tijd), en de meeste brokers hanteren eigen, eerdere deadlines. Bij de bell is het book vergrendeld en wordt het met één prijs afgehandeld.

Wat is een closing auction imbalance?

In de aanloop naar de cross publiceren exchanges imbalance data: hoeveel aandelen er in de wachtrij staan om te kopen versus verkopen bij de close, plus een indicatieve prijs waarbij de cross op dat moment zou worden afgehandeld. Een buy imbalance van één miljoen aandelen betekent dat er op dit moment één miljoen close-buy aandelen niet zijn gekoppeld. Traders in de continuous market volgen deze feeds en nemen posities in rond deze gegevens in de laatste minuten.

Kwartaalafsluiting vergroot de omvang van de closing auction

Bepaalde kalenderdagen concentreren een groter deel van de handel in de close. Index rebalances, expirations en fund flows aan het einde van de maand of het kwartaal zijn allemaal afhankelijk van de officiële slotkoersen. Deze flows komen samen in de auction. 30 juni 2026 was de laatste handelsdag van het tweede kwartaal. De onderstaande tabel vergelijkt de closing auction van elke ticker op die dag met een normale sessie halverwege de maand, 16 juni — beide zijn volledige sessies zoals bevestigd in het bovenstaande overzicht.

QueryQuarter-end (30 juni) vs. mid-month (16 juni 2026): dezelfde drie closing auctions
De exacte SQL achter elk getal
SELECT
    ticker,
    countIf(has(conditions, 8) AND sip_timestamp < '2026-06-17 00:00:00') AS jun16_auction_print_count,
    countIf(has(conditions, 8) AND sip_timestamp >= '2026-06-30 00:00:00') AS jun30_auction_print_count,
    round(toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp < '2026-06-17 00:00:00')) / 1e6, 2) AS jun16_auction_shares_m,
    round(toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp >= '2026-06-30 00:00:00')) / 1e6, 2) AS jun30_auction_shares_m,
    round(toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp >= '2026-06-30 00:00:00')) / toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp < '2026-06-17 00:00:00')), 1) AS jun30_vs_jun16_x,
    round(100 * toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp < '2026-06-17 00:00:00')) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]) AND sip_timestamp < '2026-06-17 00:00:00')), 1) AS jun16_auction_pct,
    round(100 * toFloat64(maxIf(size, has(conditions, 8) AND sip_timestamp >= '2026-06-30 00:00:00')) / toFloat64(sumIf(size, NOT hasAny(conditions, [15, 16, 38]) AND sip_timestamp >= '2026-06-30 00:00:00')), 1) AS jun30_auction_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'AAPL', 'NVDA')
  AND ((sip_timestamp >= '2026-06-16 00:00:00' AND sip_timestamp < '2026-06-17 00:00:00')
    OR (sip_timestamp >= '2026-06-30 00:00:00' AND sip_timestamp < '2026-07-01 00:00:00'))
GROUP BY ticker
ORDER BY indexOf(['SPY', 'AAPL', 'NVDA'], ticker)

De auction van AAPL overschreed 21.71 miljoen aandelen — 2.9 keer de auction van 16 juni van 7.49 miljoen — en die transactie vertegenwoordigde 33.2% van het totale gematchte volume van AAPL voor de hele dag. Een derde van de handel in een sessie binnen één transactie, tegen één prijs. De auction van NVDA groeide van 23.47 miljoen naar 41.14 miljoen aandelen, wat 24.7% van de daghandel besloeg. Op 2 juli printte elke ticker precies één auction per sessie — de twee kolommen met het aantal transacties dienen als bewijs. Dit patroon in omvang is de reden waarom relative volume filters bestaan. Het aandeel van de SPY auction bleef op beide data klein (2.7% en 3.6%). Voor het volledige beeld van de sessie, zie onze marktupdate van 30 juni 2026; voor een data-onregelmatigheid uit dezelfde kwartaalafsluitingsweek, het kwartaal dat niet werd geregistreerd.

Hoe identificeert u de closing auction print? Sale condition codes

Welke print is de auction? De tape geeft dit aan. Elke trade bevat sale-condition codes, en de code dictionary is beschikbaar in hetzelfde archief — het onderstaande overzicht is een query, geen vaststelling.

QueryDe labels van de tape voor de close, rechtstreeks uit de code dictionary
De exacte SQL achter elk getal
SELECT
    name,
    id,
    toUInt8(JSONExtractBool(update_rules, 'consolidated', 'updates_volume')) AS counts_toward_volume
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks' AND type = 'sale_condition' AND id IN (8, 15, 16, 38)
ORDER BY id

Code 8, "Closing Prints", markeert de auction print zelf, en de dictionary geeft aan dat deze meetelt voor de consolidated volume (counts_toward_volume = 1). Code 15, "Market Center Official Close", is de administratieve rapportage van elk market center over de eigen officiële close; de dictionary markeert deze als niet-volumeverhogend (0). Codes 16 en 38 — "Market Center Official Open" en "Corrected Consolidated Close (per listing market)" — zijn dezelfde administratieve registraties voor de open en voor correcties, eveneens uitgesloten (0 en 0). Elk auction getal hierboven filtert op deze codes in plaats van op de tijd; elke volume denominator trekt de drie administratieve codes af.

FAQ

Hoe laat vindt de closing auction plaats?

Kort na 16:00 uur ET, wanneer de reguliere sessie eindigt — op ongebruikelijk drukke dagen kan de print later plaatsvinden. Op 2 juli 2026 vond de auction voor SPY, AAPL en NVDA exact om 16:00:00 ET plaats. Op geplande dagen met een vroege sluiting vindt de auction in plaats daarvan om 13:00 uur ET plaats — zie marktdagen en vroege sluitingen voor de kalender.

Wat is een market-on-close (MOC) order?

Een order om te kopen of verkopen tegen de prijs die de closing auction vaststelt — deelname aan de officiële close is vrijwel gegarandeerd (tenzij er een handelssuspendering plaatsvindt voor de sluiting), zonder prijscontrole. Een limit-on-close (LOC) order voegt een limiet toe en neemt alleen deel aan de cross als de auction-prijs op die limiet of beter is.

Is de closing price de laatste transactie van de dag?

Nee. De officiële close is de auction-prijs. Op 2 juli 2026 was de laatste continue transactie van AAPL vóór de cross $308.1 en vond de auction plaats tegen $308.63 — een verschil van 53 cents. Prints in de after-hours sessie veranderen de officiële close ook niet.

Waarom is de handelsvolume zo hoog bij de close?

Indexfondsen, mutual funds en instellingen met een benchmark handelen tegen de officiële closing prices, en hun orders komen samen in één cross. Op 2 juli 2026 was een enkele auction-print verantwoordelijk voor 14.4% van het gematchte volume van AAPL voor die dag; op de kwartaalafsluiting van 30 juni bereikte dezelfde maatstaf 33.2%.

Hebben ETF's ook een closing auction?

Ja — elke beursgenoteerde aandeel en ETF houdt een auction op de betreffende beurs waar het instrument genoteerd staat. De cross vormt doorgaans een kleiner deel van de dag van een ETF: de auction van SPY op 2 juli 2026 was 2.9% van het gematchte volume, tegenover 14.4% voor AAPL.


Elk bovenstaand getal wordt gegenereerd uit een opgeslagen, controleerbare query — open de SQL onder elk paneel om deze te auditen. Om de closing auction van een door u gevolgde ticker te analyseren, kunt u dezelfde vragen in het Engels stellen op de Strasmore terminal.