Wanneer worden 0DTE options verhandeld per uur
Analyse van het handelsvolume van 0DTE options per uur. Ontdek wanneer de hoogste volume en de spread tussen calls en puts plaatsvinden gedurende de dag.
Het volksverhaal over 0DTE options is een casino aan het einde van de dag: loterijtickets die in het laatste uur worden gekocht voor één laatste kans. De marktgegevens laten iets anders zien. Als men dit per uur meet, wordt er het meest verhandeld in de ochtend — de snelste contractflow vindt plaats in de eerste dertig minuten, waarna het aandeel in het totale optionsvolume de dag afsluit op het laagste punt. De onderstaande panelen meten dit ritme tijdens een intensieve 0DTE-sessie (vrijdag 10 juli 2026) en testen dit over verschillende underlyings, calls en puts, en werkdagen.
Op welk tijdstip worden de meeste 0DTE options verhandeld?
Het panel verdeelt elke options trade op die vrijdag in contracts voor dezelfde dag (met expiries die middag) en de rest, ingedeeld volgens de New Yorkse tijd. De rij van 09:00 dekt slechts een half uur — de sessie opent om 9:30 — dus de laatste kolom normaliseert elke bucket naar contracts per minuut, wat de enige eerlijke vergelijking is.
De exacte SQL achter elk getal
SELECT
formatDateTime(toStartOfHour(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_hour,
round(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260710') / 1e6, 2) AS same_day_contracts_m,
round(sum(size) / 1e6, 2) AS all_options_contracts_m,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260710') / sum(size), 1) AS same_day_pct,
round(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260710')
/ uniqExact(toStartOfMinute(sip_timestamp)) / 1000, 1) AS same_day_k_per_minute
FROM global_markets.options_trades
WHERE sip_timestamp >= toDateTime64('2026-07-10 13:30:00', 9)
AND sip_timestamp < toDateTime64('2026-07-10 20:00:00', 9)
GROUP BY et_hour
ORDER BY et_hourFlow rate. De eerste halfie van de opening kende 148.9 duizend same-day contracts per minuut — het snelste deel van de sessie. Elke latere bucket is langzamer: 119.8k per minuut om 10 uur, 66.6k tegen het middaguur, een dieptepunt van 50.3k in het 14:00 uur, en 62.6k in het laatste uur.
Absolute volume. De grootste bucket is het uur om 10 uur met 7.19 miljoen contracts — een volledig uur, geen half uur — waarna het volume daalt naar 3.02M in het 14:00 uur, om vervolgens te stijgen richting de close naar 3.75M. De toename aan het einde van de dag is significant; dit niveau ligt niet in de buurt van de ochtend.
Share. Het aandeel van same-day in de totale options volume opent op 52.9%, piekt in het 11:00 uur op 53.4%, en daalt daarna elk uur naar 38.4% bij de close — het laagste punt van de dag. Bekijk het laatste uur nauwkeurig, aangezien hier de tegenstelling optreedt: de totale options volume stijgt richting de bell (9.78M contracts tegenover 6.63M het uur ervoor — de derde drukste bucket van de dag, na de 10:00 en 11:00 uur met 13.58M en 10.86M) terwijl het ael van 0DTE daalt. De close is een druk uur voor options, en het uur met de minste 0DTE-concentratie van de sessie.
Is de ochtendpiek alleen SPY?
Een terechte opmerking: index ETF's hebben elke handelsdag een expiratiedatum, dus wellicht gaat "0DTE" eigenlijk over SPY en QQQ. Het volgende paneel splitst de volume-ontwikkeling van die vrijdag op per onderliggende waarde, waarbij het eigen same-day aandeel per naam en het deel daarvan dat vóór het middaguur werd verhandeld, wordt toegevoegd.
De exacte SQL achter elk getal
WITH by_name AS (
SELECT substring(ticker, 3, length(ticker) - 17) AS underlying,
sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260710') AS same_day_size,
sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260710'
AND toHour(toTimeZone(sip_timestamp, 'America/New_York')) < 12) AS morning_size,
sum(size) AS all_size
FROM global_markets.options_trades
WHERE sip_timestamp >= toDateTime64('2026-07-10 13:30:00', 9)
AND sip_timestamp < toDateTime64('2026-07-10 20:00:00', 9)
AND ticker NOT LIKE 'O:SPCX%'
GROUP BY underlying
)
SELECT underlying,
round(same_day_size / 1e6, 2) AS same_day_contracts_m,
round(100.0 * same_day_size / sum(same_day_size) OVER (), 1) AS pct_of_all_0dte,
round(100.0 * same_day_size / all_size, 1) AS same_day_pct_of_name,
round(100.0 * morning_size / same_day_size, 1) AS pct_traded_before_noon
FROM by_name
ORDER BY same_day_size DESC
LIMIT 10Indexproducten domineren, maar hebben geen monopolie. SPY nam alleen al 25.5% van alle same-day contracten op de markt, QQQ nog eens 14.5%; met de S&P 500 indexserie (SPXW) en de small-cap ETF (IWM) vullen indexproducten vier van de zes hoogste posities. De overige twee zijn individuele aandelen — NVDA op 8.7%, TSLA op 7.3%.
De same_day_pct_of_name kolom laat zien hoe 0DTE-heavy de eigen optiemarkt van een naam was: 72.1% van de optievolume van SPY die dag verviel die middag, tegenover 46.9% voor AMZN onderaan de tabel.
De ochtend-skew is zichtbaar bij alle tien. Het venster vóór het middaguur beslaat 2,5 van de 6,5 uur van de sessie — 38% van de tijd — en elke naam verhandelde meer dan dat aandeel van het eigen same-day volume binnen dat venster: de hoogste concentratie bij IWM op 67.4%, de laagste bij MU op 44.5%, SPY op 54.4%, NVDA op 56.3%. De verschuiving hoort bij het producttype, niet bij één specifieke ETF.
Do calls and puts follow the same clock?
The natural suspicion is that puts run late — that the close is thick with hedges against an overnight gap. The tape says the two sides keep almost the same clock.
De exacte SQL achter elk getal
SELECT formatDateTime(toStartOfHour(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_hour,
round(sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'C') / 1e6, 2) AS call_contracts_m,
round(sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'P') / 1e6, 2) AS put_contracts_m,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 8, 1) = 'P') / sum(size), 1) AS put_share_pct
FROM global_markets.options_trades
WHERE sip_timestamp >= toDateTime64('2026-07-10 13:30:00', 9)
AND sip_timestamp < toDateTime64('2026-07-10 20:00:00', 9)
AND substring(ticker, length(ticker) - 14, 6) = '260710'
GROUP BY et_hour
ORDER BY et_hourBoth sides peak in the same 10 o'clock bucket — 4.1M calls against 3.09M puts — both slide through the afternoon, both tick up into the close. The put share of same-day volume is the interesting column: lowest in the opening bucket (34.9%), it jumps to 43% at 10, then holds a narrow band, finishing at 41.7%.
The mix effect runs opposite to the hedging story: the opening rush is the most call-tilted stretch of the day, and puts claw back a few points of share once it passes. No late-day put surge appears.
Houdt het patroon stand op een dinsdag?
Het uurlikse ritme volgt een dagelijks ritme: de hoeveelheid 0DTE-handel per sessie hangt af van wat er die dag afloopt. De vrijdag is het hoogtepunt van de expiratiekalender — weeklijks, maandelijks en de dagelijkse ETF-series verlopen allemaal op die dag — terwijl de dinsdag alleen namen met een dagelijkse expiry biedt. Het panel groepeert zes weken aan sessies per weekdag.
De exacte SQL achter elk getal
WITH sessions AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
sumIf(volume, substring(ticker, length(ticker) - 14, 6)
= formatDateTime(toDate(toTimeZone(window_start, 'America/New_York')), '%y%m%d')) AS same_day_vol,
sum(volume) AS all_vol
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime64('2026-06-01 13:30:00', 9)
AND window_start < toDateTime64('2026-07-10 20:00:00', 9)
AND toHour(toTimeZone(window_start, 'America/New_York')) BETWEEN 9 AND 15
GROUP BY session_date
)
SELECT toDayOfWeek(session_date) AS dow,
formatDateTime(session_date, '%W') AS weekday,
count() AS sessions,
round(avg(same_day_vol) / 1e6, 2) AS avg_same_day_contracts_m,
round(100.0 * sum(same_day_vol) / sum(all_vol), 1) AS same_day_pct_of_volume
FROM sessions
GROUP BY dow, weekday
ORDER BY dowOver 6 maandagen, 6 dinsdagen, 6 woensdagen, 6 donderdagen en 4 vrijdagen is het verschil groot. De vrijdag had een 46.1% same-day aandeel van het totale optievolume en gemiddeld 36.1 miljoen same-day contracts per sessie — de hoogste van de vijf op beide maatstaven. Tuesday was de laagste (29.2%, 18.92M); de dagen halverwege de week liggen dicht bij elkaar (34.5% op Monday, 34.2% op Wednesday, 35.4% op Thursday). Same-day trading is een fenomeen dat elke sessie voorkomt — zelfs de lichtste weekdag vertegenwoordigt 29.2% van de optie-tape — maar het niveau is een feit van de kalender, en de vrijdag in de bovenstaande panelen zit aan de bovenkant van dat bereik. De uurlikse vorm is algemeen geldend; de hoogte van de curve niet.
Waarom de ochtend mechanisch gezien
De gehele levensduur van een optie met dezelfde vervaldatum beslaat één handelsessie. Beleggers die deze exposure zoeken — day-range traders, event hedgers, of premium sellers die de laatste dag van decay oogsten — hebben het meeste aanbod bij de opening: de meeste uren, de hoogste premium en de breedste onopgeloste dagelijkse range. Elke uur verliest het product waarde, en het dalende aandeel in de middag is dat product dat in real time verloopt.
Wat wordt er daadwerkelijk verhandeld in het laatste uur?
De standaardveronderstelling is dat de restwaarde in het laatste uur bestaat uit deep in-the-money contracten die convergeren naar de aandelen, plus lottery strikes met een spread van slechts enkele pennies. Het panel test dit door transacties van dezelfde dag te groeperen op basis van de betaalde premium — een indicator voor moneyness op de expiratiedag, aangezien een contract met nog enkele uren tot expiratie geprijsd op $0,05 far out of the money is en een contract boven de $10 deep in it is.
De exacte SQL achter elk getal
SELECT multiIf(price < 0.10, 'under $0.10', price < 0.50, '$0.10-0.50', price < 2, '$0.50-2', price < 10, '$2-10', '$10 and up') AS premium_bucket,
round(100.0 * sumIf(size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 10)
/ sum(sumIf(size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 10)) OVER (), 1) AS pct_of_10am_contracts,
round(100.0 * sumIf(size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 15)
/ sum(sumIf(size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 15)) OVER (), 1) AS pct_of_3pm_contracts,
round(100.0 * sumIf(price * size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 15)
/ sum(sumIf(price * size, toHour(toTimeZone(sip_timestamp, 'America/New_York')) = 15)) OVER (), 1) AS pct_of_3pm_premium_dollars
FROM global_markets.options_trades
WHERE sip_timestamp >= toDateTime64('2026-07-10 13:30:00', 9)
AND sip_timestamp < toDateTime64('2026-07-10 20:00:00', 9)
AND substring(ticker, length(ticker) - 14, 6) = '260710'
AND toHour(toTimeZone(sip_timestamp, 'America/New_York')) IN (10, 15)
GROUP BY premium_bucket
ORDER BY min(price)De mix verschuift sterk naar het goedkope segment. In het uur van tien uur is de modale groep $0.50-2, met 37.4% van de contracten, waarbij de sub-dime groep op 17.1% staat. Tegen de sluitingstijd heeft de sub-dime groep haar aandeel bijna verdubbeld naar 33.8%, $0.10-0.50 voegt 34.9% toe, en $0.50-2 contracten dalen naar 19.6%. Het grootste deel van wat er tot de sluiting wordt verhandeld, kost minder dan vijftig cent.
De laatste kolom is de correctie. Die dure contracten zijn zeldzaam — de $10 and up groep is 2.6% van de contracten in het laatste uur — maar ze vertegenwoordigen wel 54.2% van de verhandelde premium dollars in dat uur, tegenover 0.8% voor de sub-dime groep. Beide kanten van het beeld zijn aanwezig, maar in verschillende eenheden: gemeten in contracten is het laatste uur een markt voor loterijtickets; gemeten in dollars is het een dunne tape van deep in-the-money contracten die convergeren naar de aandelen (de 0DTE gids volgt een dergelijke lottery strike uit het laatste uur).
Wanneer zijn 0DTE spreads het smalst?
Volume is een maatstaf voor liquiditeit; de kosten voor het crossen van de markt is de maatstaf die een trader betaalt. Het paneel analyseert elke quote-update van de SPY 0DTE-contracten op die vrijdag en rapporteert de mediane bid-ask spread per uur. Hierbij worden alleen contracten opgenomen die tussen de $1 en $10 worden gekotst — een vergelijkbare premium band (de contracten binnen deze band veranderen gedurende de dag; dat is de aard van een product met een korte looptijd).
De exacte SQL achter elk getal
SELECT formatDateTime(toStartOfHour(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_hour,
round(count() / 1e6, 1) AS quote_updates_m,
round(quantileDeterministic(0.5)(toFloat64(ask_price - bid_price), toUInt64(sequence_number)), 3) AS median_spread_usd,
round(quantileDeterministic(0.5)(toFloat64(ask_price - bid_price) / toFloat64(bid_price + ask_price) * 200,
toUInt64(sequence_number)), 2) AS median_spread_pct_of_mid
FROM global_markets.cache_options_quotes
WHERE ticker LIKE 'O:SPY260710%'
AND sip_timestamp >= toDateTime64('2026-07-10 13:30:00', 9)
AND sip_timestamp < toDateTime64('2026-07-10 20:00:00', 9)
AND bid_price > 0
AND toFloat64(bid_price + ask_price) / 2 BETWEEN 1 AND 10
GROUP BY et_hour
ORDER BY et_hourDe spread wordt groter naarmate de sessie vordert. De mediane SPY-contract van dezelfde dag in die band werd 0.8% van de mid-price breed gekotst in het eerste half uur — de smalste categorie van de dag — en 2.67% in het laatste uur, de breedste: meer dan de dubbele kosten voor het crossen van de markt, bij hetzelfde product en dezelfde premium band, zes uur later. In cash gaat de mediane spread van $0.03 naar $0.11, met het middaguur ertussenin (1.57% om 12:00). Het aantal quote-updates volgt dezelfde trend — 1.4 miljoen updates in het uur van tien uur tegenover 0.1M in het laatste uur: market makers verversen hun koersen veel minder vaak naarmate de contracten een tijdwaarde van nul naderen, en hanteren bredere quotes wanneer dat gebeurt.
Conclusie: de praktische interpretatie
Het gemeten beeld is een ochtendinstrument met een afnemende waarde:
- De eerste twee uur van de looptijd van een 0DTE contract is het meest liquide, snelst en goedkoopst om te handelen. Elke uur daarna worden de spreads groter en de volumes kleiner.
- Dit is geen gevolg van index ETF's: alle tien de zwaarste underlyings concentreren hun intraday volume in de ochtend, en calls en puts volgen hetzelfde verloop.
- Het laatste uur is reëel maar beperkt — twee markten tegelijkertijd: zeer veel zeer goedkope contracten, en zeer weinig zeer dure contracten die het grootste deel van de dollars vertegenwoordigen.
- De dag van de week is van belang: het volume op vrijdag ligt aanzienlijk hoger dan op een willekeurige dag in het midden van de week.
Dit geeft geen uitsluitsel over of u een product moet handelen waarvan de premium in één middag naar nul kan gaan; het geeft aan wanneer de markt voor dit product het meest liquide en goedkoopst is om te handelen. De DTE-woordenschat pagina bevat het volledige spectrum van expiratiedata.
FAQ
Zijn 0DTE options actiever bij de close?
Niet in vergelijking met de rest van de markt. Op 10 juli 2026 daalde het volume van same-day contracts naar 38.4% van het totale options volume in het laatste handelsuur — het laagste aandeel van de dag — terwijl het totale options volume steeg naar 9.78 miljoen contracts. Dit was het derde drukste uur van de sessie (na 13.58M om 10:00 en 10.86M om 11:00). Het 0DTE volume stijgt wel richting de bell (3.75M tegenover de 7.19M ochtendpiek), maar de rest van de markt stijgt harder. De hoogste same-day flow vond plaats in het eerste half uur van de handel, met 148.9 duizend contracts per minuut.
Welk percentage van het options volume is 0DTE op een gemiddelde dag?
Dit hangt af van de dag van de week. In de zes weken tot 10 juli 2026 waren same-day contracts 46.1% van het totale options volume op vrijdagen en 29.2% op Tuesdays — elke handelsdag heeft een aanzienlijk 0DTE volume, waarbij de expiratiekalender bepaalt hoeveel.
Worden puts en calls op 0DTE op dezelfde tijd verhandeld?
Vrijwel wel: beide bereikten een piek in hetzelfde uur rond tien uur op 10 juli 2026 en beide namen af gedurende de middag. Het aandeel puts in het same-day volume was het laagst in de eerste handelsperiode (34.9%) en eindigde op 41.7% — er is geen sprake van een late hedging surge.
Is de ochtendpiek voor SPY gelijk aan die voor individuele aandelen?
Ja. Op die vrijdag vertoonde elk van de tien zwaarste underlyings — zowel ETF's als individuele aandelen — een groter aandeel van het same-day volume voor het middaguur dan de 38% die dit tijdsblok in de sessie beslaat: 56.3% voor het aandeel NVDA, 54.4% voor SPY.
Elk bovenstaand cijfer is een opgeslagen, versiesgewijze query over de volledige options tape — klik op een paneel om de SQL te lezen, of analyseer een andere sessie op de Strasmore terminal.