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

DTE betekenis in opties: days to expiration

Wat is DTE? Deze term staat voor days to expiration. Leer hoe u de resterende kalenderdagen tot de expiratiedatum van een optiecontract nauwkeurig berekent.

DTE staat voor days to expiration — het aantal kalenderdagen tot de expiratiedatum van een optiecontract. Een call met "30 DTE" verloopt over dertig dagen; een "0DTE" optie verloopt op de dag dat deze wordt verhandeld. Het is de meest gebruikte afkorting in gesprekken over opties en vat het belangrijkste kenmerk van elke optie samen: de resterende tijd. Deze pagina geeft een precieze definitie van de term, laat zien hoe u de DTE van een specifiek contract in uw eigen keten berekent, en meet — op basis van de actuele optiekoersen — wat de invloed van de DTE is op de prijs van een optie en waar het handelsvolume zich in het spectrum bevindt.

Waar staat DTE voor?

Days to expiration (soms gelezen als "days till expiry"). De conventie is kalenderdagen, geen handelsdagen, en de telling loopt door tot de vervaldatum van het contract, waarbij de vervaldag zelf als nul wordt geteld: een optie die aanstaande vrijdag afloopt, heeft op woensdag 2 DTE, op donderdag 1 DTE en op vrijdag 0 DTE. Weekend en feestdagen maken deel uit van de telling — een optie met vervaldatum op maandag heeft op vrijdag 3 DTE, ook al blijft er nog maar één handelsessie over. Deze discrepantie is belangrijker dan het lijkt: de tijdwaarde van een optie erodeert gedurende kalenderdagen (de klok pauzeert niet op zaterdag), waardoor DTE's die een weekend overbruggen anders reageren dan dezelfde telling midden in de week.

Het getal staat niet op het contract vermeld — het wordt afgeleid van de vervaldatum, waardoor het elke dag met één afneemt. De optieketen van uw broker is in feite een DTE-ladder: de vervaldatumtabbladen bovenaan vormen hetzelfde spectrum, maar zijn gelabeld met datums in plaats van dagtellingen.

Hoe u zelf de DTE kunt berekenen

De berekening bestaat uit één aftreksom:

  1. Zoek de expiratiedatum van het contract. Elke beursgenoteerde Amerikaanse optie bevat deze in het symbool: O:SPY260710P00740000 leest SPY, dan 260710 = 2026-07-10, dan P voor een put, gevolgd door de strike (740.000). Uw broker toont dezelfde datum bovenaan het tabblad met de optieketen.
  2. Trek de datum van vandaag hiervan af, waarbij elke kalenderdag wordt meegeteld — inclusief weekenden en marktvrije dagen.
  3. Het resultaat is de DTE. De expiratiedag zelf is 0; de dag ervoor is 1.

Er is niets anders aan de hand — geen aanpassing voor handelsdagen en geen afronding. Hieronder vindt u de aftreksom toegepast op echte contracten: het meest verhandelde SPY-contract in elke DTE-band op de handelsdag van woensdag 8 juli 2026, waarbij de handelsdatum en de expiratiedatum rechtstreeks uit het symbool zijn afgeleid.

QueryDTE, gewerkt met echte contracten — SPY's meest verhandelde optie in elke DTE-band, 8 juli 2026
De exacte SQL achter elk getal
SELECT argMax(contract, (vol, contract)) AS option_ticker,
       argMax(traded_on, (vol, contract)) AS traded_on,
       argMax(expires_on, (vol, contract)) AS expires_on,
       argMax(dte, (vol, contract)) AS calendar_dte,
       multiIf(max(vol) >= 1000000,
               concat(toString(intDiv(toUInt64(max(vol)), 1000000)), ',',
                      leftPad(toString(intDiv(toUInt64(max(vol)), 1000) % 1000), 3, '0'), ',',
                      leftPad(toString(toUInt64(max(vol)) % 1000), 3, '0')),
               max(vol) >= 1000,
               concat(toString(intDiv(toUInt64(max(vol)), 1000)), ',',
                      leftPad(toString(toUInt64(max(vol)) % 1000), 3, '0')),
               toString(toUInt64(max(vol)))) AS contracts_traded
FROM (
    SELECT ticker AS contract,
           replaceRegexpAll(formatDateTime(toDate(toTimeZone(window_start, 'America/New_York')), '%M %e, %Y'), '  ', ' ') AS traded_on,
           replaceRegexpAll(formatDateTime(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))), '%M %e, %Y'), '  ', ' ') AS expires_on,
           dateDiff('day',
                    toDate(toTimeZone(window_start, 'America/New_York')),
                    toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) AS dte,
           multiIf(dte = 0, '0 DTE', dte = 1, '1 DTE', dte <= 7, '2-7 DTE',
                   dte <= 30, '8-30 DTE', dte <= 90, '31-90 DTE', '91+ DTE') AS bucket,
           sum(volume) AS vol
    FROM global_markets.options_minute_aggs
    WHERE ticker LIKE 'O:SPY2%'
      AND window_start >= '2026-07-08 04:00:00'
      AND window_start < '2026-07-09 04:00:00'
    GROUP BY contract, traded_on, expires_on, dte, bucket
    HAVING dte >= 0
)
GROUP BY bucket
ORDER BY min(dte)

Lees de 1 DTE-regel: O:SPY260709P00740000 werd verhandeld op July 8, 2026 en verloopt op July 9, 2026, één kalenderdag verschil, dus het is 1 DTE, en er zijn 93,266 contracten verhandeld. De koploper van de 31-90 DTE-band, O:SPY260918P00650000, verloopt op September 18, 202672 kalenderdagen vanaf dezelfde handelsdatum. Dezelfde aftreksom, dezelfde keten, maar zeer verschillende instrumenten.

Waar het volume zich daadwerkelijk bevindt, naar DTE

Eén volledige sessie van elke beursgenoteerde Amerikaanse optie, ingedeeld naar het aantal dagen dat elk verhandeld contract nog had:

QueryOptievolume per days to expiration — elke verhandelde Amerikaanse optie op 8 juli 2026
De exacte SQL achter elk getal
SELECT multiIf(dte = 0, '0 DTE (expires today)',
               dte = 1, '1 DTE',
               dte <= 7, '2-7 DTE',
               dte <= 30, '8-30 DTE',
               dte <= 90, '31-90 DTE',
               '91+ DTE') AS bucket,
       round(sum(vol) / 1e6, 2) AS contracts_mm,
       round(100.0 * sum(vol) / sum(sum(vol)) OVER (), 1) AS pct_of_volume
FROM (
    SELECT toFloat64(volume) AS vol,
           dateDiff('day',
                    toDate(toTimeZone(window_start, 'America/New_York')),
                    toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) AS dte
    FROM global_markets.options_minute_aggs
    WHERE window_start >= '2026-07-08 04:00:00'
      AND window_start < '2026-07-09 04:00:00'
)
WHERE dte >= 0
GROUP BY bucket
ORDER BY min(dte)

De handel is opvallend front-loaded: 38.9% van het contractvolume van de dag was 0 DTE — opties in hun laatste uren — tegenover 8.1% voor alles met 91 dagen of langer. Het overzicht geeft een getal aan de gehele voorkant van de curve:

QueryDe voorkant van de curve — aandeel van de volume op 8 juli 2026 binnen een week voor expiry
De exacte SQL achter elk getal
SELECT round(100.0 * sumIf(vol, dte <= 7) / sum(vol), 1) AS pct_week_or_less,
       round(100.0 * sumIf(vol, dte >= 31) / sum(vol), 1) AS pct_31_dte_plus,
       round(sum(vol) / 1e6, 1) AS total_contracts_mm
FROM (
    SELECT toFloat64(volume) AS vol,
           dateDiff('day',
                    toDate(toTimeZone(window_start, 'America/New_York')),
                    toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) AS dte
    FROM global_markets.options_minute_aggs
    WHERE window_start >= '2026-07-08 04:00:00'
      AND window_start < '2026-07-09 04:00:00'
)
WHERE dte >= 0

61.8% van de 62.6 miljoen contracten van de sessie had een week of minder te leven; slechts 18.7% had meer dan een maand. Het 0DTE-fenomeen haalt de koppen, maar het bredere patroon is dat het optievolume als geheel richting de expiries neigt — waar premiums het kleinst zijn, decay het snelst gaat en elke positie binnen enkele dagen wordt afgewikkeld. Volume is echter niet hetzelfde als positionering: open interest telt de contracten die nog steeds overnight worden aangehouden, en dat is meer gericht op de langere termijn.

Wat DTE doet met de prijs van een optie

Tijd is de grondstof waaruit een optie bestaat, en DTE is de hoeveelheid die u koopt. Om dit te isoleren, houdt u de rest gelijk — dezelfde onderliggende waarde, een at-the-money strike, hetzelfde half uur van dezelfde sessie — en varieert u alleen de vervaldatum. De onderstaande tabel selecteert voor een reeks looptijden de SPY call waarvan de strike het dichtst bij de koers van SPY lag rond het middaguur op 8 juli 2026.

QueryDe prijs van tijd — at-the-money SPY call prijs per DTE, middag 8 juli 2026
De exacte SQL achter elk getal
WITH spot AS (
    SELECT avg(close) AS px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-07-08 11:30:00', 'America/New_York')
      AND window_start < toDateTime('2026-07-08 13:00:00', 'America/New_York')
),
chain AS (
    SELECT toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
           toFloat64(substring(ticker, length(ticker) - 7, 8)) / 1000 AS strike,
           avg(close) AS opt_px
    FROM global_markets.options_minute_aggs
    WHERE ticker LIKE 'O:SPY2%'
      AND substring(ticker, length(ticker) - 8, 1) = 'C'
      AND window_start >= toDateTime('2026-07-08 11:30:00', 'America/New_York')
      AND window_start < toDateTime('2026-07-08 13:00:00', 'America/New_York')
    GROUP BY expiry, strike
    HAVING sum(volume) > 0
       AND abs(strike - (SELECT px FROM spot)) <= 3
       AND dateDiff('day', toDate('2026-07-08'), expiry) >= 0
),
atm AS (
    SELECT dateDiff('day', toDate('2026-07-08'), expiry) AS dte,
           argMin(opt_px, (abs(strike - (SELECT px FROM spot)), strike)) AS call_price
    FROM chain
    GROUP BY expiry
),
targets AS (
    SELECT arrayJoin([0, 1, 2, 7, 14, 30, 60, 90, 180, 365, 730]) AS target
),
nearest AS (
    SELECT argMin(dte, (abs(dte - target), dte)) AS pick_dte,
           argMin(call_price, (abs(dte - target), dte)) AS pick_px
    FROM targets CROSS JOIN atm
    GROUP BY target
)
SELECT concat(toString(pick_dte), ' DTE') AS days_to_expiration,
       round(pick_px, 2) AS atm_call_price,
       round(pick_px / greatest(pick_dte, 1), 2) AS premium_per_remaining_day
FROM nearest
GROUP BY days_to_expiration, atm_call_price, premium_per_remaining_day, pick_dte
ORDER BY pick_dte

De at-the-money call die die middag afliep, kostte $1.65. De optie die de volgende dag afliep, kostte $2.92; een week later, $6.09; een maand later, $13.85; en het contract met de langste looptijd in de reeks, 891 DTE, kostte $125.64. Let op wat de prijs niet is: proportioneel aan de tijd. Ongeveer dertig keer de kalenderduur van de optie met dezelfde vervaldatum leverde niet dertig keer de prijs op.

De kolom aan de rechterkant vertaalt dit naar de waarde die handelaren daadwerkelijk voelen — de premium gedeeld door de resterende kalenderdagen. Bij 891 DTE betaalde de koper $0.14 voor elke resterende dag aan optionaliteit; bij 7 DTE, $0.87; bij 2 DTE, $1.92. De tijd wordt steeds duurder per dag naarmate de vervaldatum nadert — die steilere stijging is wat "theta accelerates" betekent, en deze kolom is het bewijs daarvan. (De 0 DTE-rij is de enige uitzondering in de tabel om een mechanische reden: gemeten op het middaguur had deze nog enkele uren aan looptijd in plaats van een volledige dag, waardoor het delen van de premium door "één dag" de werkelijke dagelijkse burn onderschat.)

Welke tickers bieden daadwerkelijk 0DTE options?

Niet elk onderliggend actief heeft een contract met dezelfde dag om te verhandelen. De chains met bijna dagelijkse expirations zijn een korte lijst — de grote index ETF's en een handvol mega-cap namen. Zes bekende tickers, dezelfde sessie:

QueryDTE-menu's vergeleken — verhandelde expirations en 0DTE aandeel per underlying, 8 juli 2026
De exacte SQL achter elk getal
SELECT underlying,
       uniqExact(expiry) AS expiries_traded,
       min(dte) AS shortest_dte,
       max(dte) AS longest_dte,
       round(100.0 * sumIf(vol, dte = 0) / sum(vol), 1) AS pct_0dte,
       round(sum(vol) / 1e6, 2) AS contracts_mm
FROM (
    SELECT splitByChar(':', ticker)[2] AS raw,
           substring(raw, 1, length(raw) - 15) AS underlying,
           toFloat64(volume) AS vol,
           toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
           dateDiff('day', toDate(toTimeZone(window_start, 'America/New_York')), expiry) AS dte
    FROM global_markets.options_minute_aggs
    WHERE (ticker LIKE 'O:SPY2%' OR ticker LIKE 'O:QQQ2%' OR ticker LIKE 'O:IWM2%'
           OR ticker LIKE 'O:AAPL2%' OR ticker LIKE 'O:TSLA2%' OR ticker LIKE 'O:KO2%')
      AND window_start >= '2026-07-08 04:00:00'
      AND window_start < '2026-07-09 04:00:00'
)
WHERE dte >= 0
GROUP BY underlying
ORDER BY contracts_mm DESC

SPY verhandelde 35 verschillende expiration dates in die ene sessie — van 0 DTE tot 891 DTE, same-day options en multi-year LEAPS in één enkele chain — en 70.1% van de volume zat in same-day contracts. QQQ en TSLA hadden die woensdag ook contracts met een expiratie op die dag (71.5% en 62% van de volume). KO had dat niet: de dichtstbijzijnde expiry lag 2 dagen weg, en 0% van de volume was 0 DTE. De chain vermeldt vrijdagen, dus op een woensdag bestaat er geen same-day contract om te kopen.

Dat is het praktische antwoord op de vraag "kan ik 0DTE handelen op mijn aandeel?" — zoek in de chain naar een expiratie met de datum van vandaag. Index ETF's vermelden bijna elke handelsdag een expiratie; een mid-cap of een rustig dividend aandeel biedt doorgaans wekelijkse vrijdagen en monthlies, en niets korter. Wanneer options expireren brengt de volledige kalender in kaart, en triple witching behandelt de kwartaalmatige concentratie.

Is de voorkant van de curve altijd zo druk geweest?

Nee — de crowding is recent en is meetbaar. Dezelfde periode van vijf sessies in medio juni, uitsluitend SPY options, telkens één jaar per keer:

QueryDe opkomst van 0DTE — aandeel van SPY optievolume op dezelfde dag, 8-12 juni van elk jaar
De exacte SQL achter elk getal
SELECT year,
       round(100.0 * sumIf(vol, dte = 0) / sum(vol), 1) AS pct_0dte,
       round(100.0 * sumIf(vol, dte <= 7) / sum(vol), 1) AS pct_week_or_less,
       round(sum(vol) / 1e6, 1) AS spy_contracts_mm
FROM (
    SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS year,
           toFloat64(volume) AS vol,
           dateDiff('day',
                    toDate(toTimeZone(window_start, 'America/New_York')),
                    toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) AS dte
    FROM global_markets.options_minute_aggs
    WHERE ticker LIKE 'O:SPY2%'
      AND toMonth(toTimeZone(window_start, 'America/New_York')) = 6
      AND toDayOfMonth(toTimeZone(window_start, 'America/New_York')) BETWEEN 8 AND 12
      AND toYear(toTimeZone(window_start, 'America/New_York')) >= 2020
)
WHERE dte >= 0
GROUP BY year
ORDER BY year

In 2020 waren same-day contracts 20.2% van het SPY option volume in die periode. Tegen 2023 waren dit 44.2%, en in 2026 bereikten ze 69.5%. De stijging is niet volledig monotoon: 2021 kwam uit op 18.6%, lager dan de waarde van 2020. Vanaf 2022 geeft elke juni-steekproef een hogere waarde aan dan de voorgaande. Contracts met een looptijd van een week of minder gingen in diezelfde periode van 61.7% naar 89.9%, gebaseerd op 71.9 miljoen SPY contracts in de laatste periode. Het debat over DTE is intenser dan vijf jaar geleden, en de markt bevestigt dit.

Een DTE kiezen voor uw strategie

Er bestaat geen juiste DTE — er zijn enkel mechanische afwegingen. Een korte DTE betekent een goedkope premium, snelle decay en een buitengewone gevoeligheid voor kleine bewegingen nabij de strike. Een lange DTE betekent een dure premium, langzame decay en gedrag dat dichter bij het aandeel zelf ligt. De algemene markttaal:

  • 0-1 DTE (dezelfde dag en overnight). De laagste premium op de markt, volledige uitputting van de tijdwaarde tegen de sluiting, alles-of-niets uitkomsten. Hier bevindt de meeste volume zich — en hier is bij een ongunstige beweging geen tijd meer om te herstellen.
  • Weeklies, 2-7 DTE. Dagen in plaats van uren aan ruimte. Een veelgebruikte optie voor short-dated credit spreads; nog steeds diep in het steile deel van de hierboven genoemde decay-curve.
  • 30-45 DTE. De conventionele bandbreedte voor het verkopen van premium — covered calls, cash-secured puts. Vaak aangehaald als het balanspunt waar decay betekenisvol is maar niet hectisch, en waar een positie kan worden beheerd in plaats van enkel worden ondergaan. Op de ladder van 8 juli kostte de 30 DTE at-the-money call $13.85 tegenover $1.65 voor de strike van dezelfde dag: een maand aan tijd tegen $0.46 per resterende dag.
  • LEAPS, ongeveer 365 DTE en verder. Geprijsd op basis van de langetermijnbeweging van het onderliggende aandeel in plaats van de tikkende klok — de goedkoopste tijd op de markt per resterende dag ($0.14 bij 891 DTE), en de grootste cash outlay vooraf.

Geen van deze banden is een regel. Ze beschrijven hoe de markt communiceert — en, volgens de bovenstaande volumedata, welke dialecten daadwerkelijk worden gesproken. Welke band u ook kiest, de transactiekosten komen bovenop de premium: wat het kost om opties te verhandelen geeft een uitsplitsing van de kosten per contract.

FAQ

Hoe berekent u DTE?

Trek de datum van vandaag af van de expiratiedatum van het contract en tel alle tussenliggende kalenderdagen, inclusief weekenden en feestdagen. De expiratiedag is nul. Op 8 juli 2026 was het meest verhandelde SPY-contract in de 2-7 DTE band, O:SPY260710P00740000, July 10, 2026 verlopen — 2 kalenderdagen, wat die dag een DTE van 2 betekende.

Wat betekent 0 DTE?

Een optie die op de eigen expiratiedag wordt verhandeld — zero days to expiration. De handel stopt bij de sluiting van die dag en wordt diezelfde avond afgewikkeld, waarbij de optie waardeloos of in the money eindigt. Op 8 juli 2026 vormden 0 DTE-contracten alleen al 38.9% van het totale Amerikaanse optievolume — wat is 0DTE biedt een diepgaande uitleg over dit fenomeen.

Wordt DTE geteld in kalenderdagen of handelsdagen?

Kalenderdagen, volgens de vrijwel universele conventie. Weekenden en feestdagen tellen mee, en de tijdwaarde erodeert gedurende deze dagen — een optie met 3 DTE op vrijdag (met expiratie op maandag) heeft nog één handelsessie over, maar drie dagen aan kloktijd.

Welke DTE is het beste voor optiehandel?

Er is geen enkele beste DTE; de keuze bepaalt de afweging. Kortlopende contracten zijn goedkoop en verliezen snel waarde — de at-the-money SPY call met expiratie diezelfde middag kostte $1.65 op 8 juli 2026 — terwijl contracten met een langere looptijd vooraf veel meer kosten, maar veel minder per resterende dag ($0.14 per resterende dag bij 891 DTE). Premium sellers werken conventioneel in de 30-45 DTE band; kopers die de tijd aan hun zijde willen hebben, kiezen voor een langere looptijd.

Welke DTE verhandelen de meeste optiehandelaren?

Het feitelijke antwoord voor 8 juli 2026: 61.8% van het contractvolume zat op 7 DTE of minder, met 38.9% alleen al bij 0 DTE. Er is activiteit met een langere looptijd — 18.7% van het volume was 31+ DTE — maar het zwaartepunt van de markt ligt aan de voorkant van de curve, en dit is in elke juni-steekproef sinds 2022 verder naar voren verschoven.


Elk bovenstaand getal is een opgeslagen, versiespecifieke query over de volledige optie-tape — breid de SQL van elk paneel uit, of filter het DTE-spectrum voor een willekeurige onderliggende waarde op de Strasmore terminal.