Strasmore Research
Leren Matt ConnorDoor Matt Connor · Bijgewerkt 2026-08-02

Wat is de slotveiling? Uitleg van de closing cross

Wat de slotveiling is, waarom één print om 16.00 uur de officiële slotkoers bepaalt en hoe market-on-close-orders de grootste trade van de dag voeden.

De slotveiling (Nasdaq noemt dit de closing cross) is één grote gematchte trade om 16.00 uur Eastern Time die de officiële slotkoers van elk aandeel vaststelt. In plaats van kopers en verkopers order voor order aan elkaar te koppelen, verzamelt de beurs waar het aandeel is genoteerd de orders voor de slotveiling gedurende de hele middag. Vervolgens kruist de beurs de volledige orderpool tegen één prijs, in één print. Dit is het sluitstuk van de openingsveiling waarmee de handelsdag begint en één transactiegegeven dat bij individuele aandelen doorgaans de grootste trade van de hele dag is. Elk cijfer op deze pagina is gemeten aan de hand van de consolidated tape, het uniforme openbare overzicht van alle Amerikaanse aandelentransacties. Bij elk paneel staat de exacte SQL-query.

Wat is de slotveiling? Een definitie in duidelijke taal

Gedurende het grootste deel van de sessie wordt een aandeel continu verhandeld: orders komen binnen, worden gematcht en verschijnen één voor één op de tape. Bij de meest actieve namen gebeurt dat duizenden keren per minuut. De slotveiling werkt anders, maar vindt op dezelfde tape plaats. In de laatste fase van de handelsdag bundelt de beurs alle orders die voor de slotveiling zijn gemarkeerd. Vervolgens berekent zij de ene prijs waarbij het grootste aantal aandelen tegen elkaar kan worden uitgevoerd. De volledige orderpool wordt om 16.00 uur ET in één transactie uitgevoerd.

De transactie verschijnt op de openbare tape net als elke andere trade, met een eigen label en de sale condition 8, "Closing Prints". De prijs wordt die avond de officiële slotkoers die overal wordt gepubliceerd. De continue markt en de veiling zijn geen twee afzonderlijke markten. Het is één tape, waarop de veiling één uitzonderlijk grote regel vormt.

Waarom bestaat de slotveiling?

De slotkoers is de referentieprijs van de markt. Beleggingsfondsen bepalen hun dagelijkse intrinsieke waarde op basis van officiële slotkoersen. Indexaanbieders berekenen benchmarks aan de hand daarvan. Institutionele trading desks worden er eveneens tegen afgezet, naast maatstaven zoals VWAP, de volumegewogen gemiddelde prijs. Een belegger die tegen de slotkoers handelt, volgt al die referenties exact. De veiling is het moment waarop die prijs wordt vastgesteld. Voor de meeste beleggers is dit de enige handelsplaats waar een transactie tegen die prijs gegarandeerd is.

Dat effect versterkt zichzelf. Grote orders komen aan beide kanten van de markt samen. Eén cross matcht deze orders tegen de maximaal mogelijke omvang. Een grote order wordt daardoor tegen één prijs uitgevoerd, zonder in de continue markt door de bid-ask spread heen te lopen. Daar quoten market makers de hele dag aan beide kanten.

De slotveiling op de echte tape: één print versus de mediaantransactie

Het onderstaande overzicht neemt 2 juli 2026, de laatste sessie vóór het feestdagenweekend rond 4 juli, een geverifieerde volledige handelsdag (de ontvangstbewijzen staan in het volgende paneel), en zet de slotveiling voor SPY, AAPL en NVDA af tegen alle andere transacties op hun tape. "Matched volume" betekent het aantal aandelen dat volgens de eigen administratie van de tape meetelt voor het geconsolideerde volume; administratieve heruitzendingen (sale conditions 15, 16 en 38) zijn uit elke noemer weggelaten, overeenkomstig onze microstructure deep-dive op tick-by-tickbasis; het paneel met de codedictionary hieronder is het ontvangstbewijs.

QueryDe slotveiling versus al het overige: SPY, AAPL, NVDA op 2 juli 2026
tickeraandelen in veiling (m)veilingstijd ETaantal veilingprintsveilingprints om 1600mediaan aantal aandelen per transactieveiling versus mediaan (duizend x)veiling als % van volumegrootste andere transactie (m)veiling versus grootste andere (x)
SPY1.6516:00:001125662.92.50.66
AAPL10.8916:00:00112054514.41.86.05
NVDA17.3816:00:00115347512.25.473.18
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)
Voer het zelf uit

Bekijk eerst de rij van AAPL. De mediaantransactie in AAPL bedroeg die dag 20 aandelen. In de slotveiling werden 10.89 miljoen aandelen in één print gekruist, ongeveer 545 duizend keer de mediaan, goed voor 14.4% van alle AAPL-aandelen die gedurende de dag werden gematcht, inclusief de extended hours. Bij NVDA is het verschil tussen de veiling en de mediaan nog groter: een mediane print van 5 aandelen tegenover een cross van 17.38 miljoen aandelen, 3475 duizend keer de mediaan, terwijl dit 12.2% van het dagvolume vertegenwoordigde. Voor elk aandeel is er precies één veilingprint; de kolom auction_print_count is het ontvangstbewijs, met tijdstempel 16:00:00 ET tot op de seconde (auction_prints_at_1600 legt het tijdstip vast).

De claim in de titel heeft zijn eigen ontvangstbewijs. Bij beide individuele aandelen was de cross de grootste transactie van de hele dag: de grootste continue print van AAPL bedroeg 1.8 miljoen aandelen, terwijl de veiling 6.05 keer zo groot was; de grootste transactie van NVDA bedroeg 5.47 miljoen aandelen, terwijl de cross 3.18 keer zo groot was. SPY is de uitzondering: één block print van 2.5 miljoen aandelen was groter dan de cross van 1.65 miljoen aandelen; bij een ETF met hoge handelsactiviteit kan één block trade de veiling overtreffen. SPY heeft ook het kleinste veilingaandeel van de drie, namelijk 2.9%, maar zelfs deze cross was 66 duizend keer groter dan de mediane transactie van 25 aandelen.

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

Een veelvoorkomende aanname is dat de slotkoers simpelweg de laatste trade vóór de bel is. De tape laat iets anders zien. Het ontvangstbewijs met één rij hieronder betreft AAPL op 2 juli 2026. Het begint met sessiecontroles voor elke datum die in dit artikel wordt vastgelegd: SPY noteerde precies 390, 390 en 390 reguliere-sessie-minutebars op 16 juni, 30 juni en 2 juli. Dat zijn drie volledige sessies van 9:30 tot 16:00, geverifieerd en nooit verondersteld.

QueryHet overzicht: de veilingprijs van AAPL versus de laatste doorlopende transactie, 2 juli 2026
SPY-sessiebars jun16SPY-sessiebars jun30SPY-sessiebars jul02aantal veilingprintsveilingprijsveiling ETprijs laatste ticklaatste tick ETveiling minus laatste tick (cent)herpublicaties officiële slotkoersherpublicaties op noteringsplatformprijsverschil herpublicatie noteringsplatform
3903903901308.6316:00:00.373202308.116:00:00.21505253210
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'
Voer het zelf uit

De continue handel loopt door tot het moment waarop de cross tot stand komt. Op deze dag was dat een fractie van een seconde na 16:00:00. De laatste volume-meetellende continuous trade in AAPL vóór de cross werd uitgevoerd om 16:00:00.215052 ET tegen $308.1. Om 16:00:00.373202 ET kwam de veiling tot stand tegen $308.63, 53 cent boven die laatste tick. De officiële slotkoers die avond was de prijs van de veiling, niet die van de laatste tick. De tape bevatte vervolgens 2 berichten met de aanduiding "Market Center Official Close" (sale condition 15). Elk bericht rapporteerde de eigen officiële slotkoers van de betreffende venue, niet opnieuw de geconsolideerde slotkoers. Venues kunnen verschillende prijzen rapporteren. Het bericht van de beurs waar het effect is genoteerd, komt exact overeen met de veilingprijs. Het verschil bedraagt 0. Geen van deze berichten voegt volume toe. De handel gaat nog vier uur door in de after-hours-sessie. Geen van die prints wijzigt de officiële slotkoers.

Hoe werkt de slotveiling? Market-on-close- en limit-on-close-orders

Twee specifieke ordertypen voor de slotveiling worden naast gewone limitorders gebruikt die al in het continue orderboek liggen. Ook deze orders kunnen aan de cross deelnemen:

  • Een market-on-close (MOC)-order wordt uitgevoerd tegen de prijs die de veiling vaststelt. Er is geen prijsbescherming. Dat is de afweging voor een vrijwel gegarandeerde uitvoering tegen de officiële slotkoers. Als de handel in een aandeel tot aan de bel is stilgelegd, wordt de cross mogelijk niet uitgevoerd en kunnen slotorders onuitgevoerd blijven.
  • Een limit-on-close (LOC)-order neemt alleen aan de veiling deel als de veilingprijs gelijk is aan de limiet of gunstiger uitvalt. Dit biedt prijsbescherming, maar het risico bestaat dat de order helemaal niet aan de cross deelneemt.

Beide ordertypen blijven bij de beurs staan tot de cross. In de aanloop daar naartoe worden ze niet in de continue markt verhandeld. Beurzen stoppen in de laatste minuten met het accepteren of wijzigen van slotorders. De exacte cut-offs verschillen per beurs en veranderen in de loop der tijd. De meeste brokers hanteren bovendien hun eigen, eerdere deadlines. Tegen de bel is het orderboek gesloten en wordt het op één prijs gecleard.

Wat is een imbalance in de slotveiling?

In de aanloop naar de cross publiceren beurzen imbalancegegevens. Die tonen hoeveel aandelen aan de koopkant tegenover de verkoopkant klaarstaan voor de slotveiling, plus een indicatieve prijs waartegen de cross op dat moment zou worden gecleard. Een buy imbalance van één miljoen aandelen betekent dat er tot dan toe één miljoen aandelen in kooporders voor de slotveiling niet zijn gekoppeld aan verkooporders. Traders in de continue markt volgen deze feeds en nemen in de laatste minuten posities in.

Op de laatste dagen van het kwartaal is de slotveiling veel groter

Op bepaalde kalenderdagen wordt een nog groter deel van de dagomzet naar het slot geconcentreerd. Indexherwegingen, expiraties en fondsflows aan het einde van de maand en het kwartaal zijn allemaal gebaseerd op officiële slotkoersen. Deze flows komen samen in de veiling. 30 juni 2026 was de laatste handelsdag van het tweede kwartaal. Het onderstaande overzicht vergelijkt de slotveiling van elke ticker op die dag met een gewone sessie halverwege de maand, 16 juni. Beide waren volledige sessies, zoals bevestigd in het bovenstaande receipt.

QueryKwartaalultimo (30 juni) versus midden van de maand (16 juni 2026): dezelfde drie slotveilingen
tickeraantal veilingprints jun16aantal veilingprints jun30aandelen in veiling jun16 (m)aandelen in veiling jun30 (m)jun30 versus jun16 (x)veiling jun16 (%)veiling jun30 (%)
SPY111.8421.12.73.6
AAPL117.4921.712.918.833.2
NVDA1123.4741.141.818.524.7
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)
Voer het zelf uit

In de slotveiling aan het einde van het kwartaal werden bij AAPL 21.71 miljoen aandelen verhandeld. Dat was 2.9 keer zoveel als de 7.49 miljoen aandelen in de veiling van 16 juni. Die ene transactie vertegenwoordigde 33.2% van het gematchte volume van AAPL over de hele dag. Een derde van de handel tijdens een sessie in één transactie, tegen één prijs. De veiling van NVDA groeide van 23.47 miljoen naar 41.14 miljoen aandelen en bereikte 24.7% van het dagvolume. Net als op 2 juli werd per ticker precies één veiling per sessie geregistreerd. De twee kolommen met het aantal transacties vormen de receipt. Dit volumepatroon is precies wat schermen voor relatief volume moeten signaleren. Het aandeel van SPY in de veiling bleef op beide datums klein (2.7% en 3.6%). Raadpleeg voor het volledige beeld van de sessie onze marktupdate van 30 juni 2026. Voor een gegevensafwijking uit dezelfde week aan het einde van het kwartaal, zie het kwartaalafsluit dat niet werd geregistreerd.

Hoe identificeert u de closing auction print? Sale-conditioncodes

Welke print is de auction? De tape geeft dat zelf aan. Elke trade bevat sale-conditioncodes, en het codedictionary wordt uit hetzelfde warehouse geleverd; het onderstaande receipt is een query, geen bewering.

QueryDe eigen labels van de tape voor de slotkoers, rechtstreeks uit het codedictionary
nameidtelt mee voor volume
Closing Prints81
Market Center Official Close150
Market Center Official Open160
Corrected Consolidated Close (per listing market)380
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
Voer het zelf uit

Code 8, "Closing Prints", markeert de auction print zelf. Het dictionary vermeldt dat deze meetelt voor het geconsolideerde volume (counts_toward_volume = 1). Code 15, "Market Center Official Close", is het administratieve report van elk market center van zijn eigen officiële close. Het dictionary markeert deze code als niet volume-updatend (0). Codes 16 en 38, "Market Center Official Open" en "Corrected Consolidated Close (per listing market)", zijn hetzelfde type boekhouding voor de open en voor correcties. Ook deze worden uitgesloten (0 en 0). Elk auctiongetal hierboven filtert op deze codes en niet op basis van het tijdstip. Elke volume-denominator sluit de drie administratieve codes uit.

Veelgestelde vragen

Hoe laat vindt de slotveiling plaats?

Enkele momenten na 16.00 uur ET, wanneer de reguliere sessie eindigt. Op uitzonderlijk drukke dagen kan de print later plaatsvinden. Op 2 juli 2026 werden de veilingprints voor SPY, AAPL en NVDA allemaal tot op de seconde voorzien van tijdstempel 16:00:00 ET. Op geplande dagen met een vervroegde sluiting vindt de veiling in plaats daarvan om 13.00 uur ET plaats. Zie marktvakanties en vervroegde sluitingen voor de kalender.

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

Dit is een order om tegen de prijs te kopen of verkopen die de slotveiling vaststelt. Deelname aan de officiële slotkoers is vrijwel gegarandeerd, behalve bij een handelsstop tot aan het sluiten. U heeft daarbij geen controle over de prijs. Een limit-on-close (LOC)-order voegt een limiet toe en doet alleen mee aan de cross als de veilingprijs gelijk is aan die limiet of beter is.

Is de slotkoers de laatste trade van de dag?

Nee. De officiële slotkoers is de veilingprijs. Op 2 juli 2026 vond de laatste continue trade in AAPL vóór de cross plaats op $308.1. De veiling kwam uit op $308.63, een verschil van 53 cent. Prints tijdens de after-hours-sessie veranderen de officiële slotkoers evenmin.

Waarom is het handelsvolume bij het sluiten zo hoog?

Indexfondsen, beleggingsfondsen en instellingen die hun portefeuille aan een benchmark toetsen, handelen tegen officiële slotkoersen. Hun orders komen samen in één cross. Op 2 juli 2026 vertegenwoordigde één veilingprint 14.4% van het gematchte volume in AAPL voor die dag. Aan het einde van het kwartaal, op 30 juni, liep dezelfde maatstaf op tot 33.2%.

Hebben ETF's ook een slotveiling?

Ja. Elk beursgenoteerd aandeel en elke ETF houdt een veiling op de beurs waar het instrument staat genoteerd. De cross vormt doorgaans een kleiner deel van het dagvolume van een ETF. De veiling in SPY op 2 juli 2026 bedroeg 2.9% van het gematchte volume, tegenover 14.4% voor AAPL.


Alle bovenstaande cijfers worden gegenereerd door een opgeslagen, controleerbare query. Klap de SQL onder elk paneel uit om de gegevens te controleren. Als u de slotveiling van een ticker die u volgt nader wilt analyseren, kunt u dezelfde vragen in gewone bewoordingen stellen in de Strasmore-terminal.

#closing auction#closing cross#market structure#moc orders#condition codes#liquidity