Strasmore Research
Belajar Matt ConnorOleh Matt Connor · Dikemas kini 2026-07-25

DTE maksud dalam opsyen hari hingga tamat

DTE bermaksud days to expiration, iaitu hari kalendar sehingga opsyen tamat. Hari tamat dikira sebagai sifar. Cara kira DTE pada rantaian sebenar.

DTE bermaksud days to expiration — iaitu bilangan hari kalendar sehingga kontrak opsyen tamat tempoh. Panggilan "30 DTE" tamat dalam tiga puluh hari; opsyen "0DTE" tamat pada hari yang sama ia didagangkan. Ia adalah singkatan yang paling kerap digunakan dalam perbualan opsyen, dan ia merangkum fakta paling penting tentang mana-mana opsyen: berapa banyak masa yang tinggal. Halaman ini mentakrifkan istilah tersebut dengan tepat, menunjukkan cara mengira DTE kontrak sebenar dalam rantaian anda sendiri, dan mengukur — daripada pita opsyen sebenar — apa yang DTE lakukan kepada harga opsyen dan di mana volum pasaran berada sepanjang spektrum.

Apakah maksud DTE?

Days to expiration (kadangkala dibaca sebagai "hari sehingga tamat tempoh"). Konvensyennya adalah hari kalendar, bukan hari dagangan, dan kiraan berjalan sehingga tarikh tamat kontrak dengan hari tamat itu sendiri dikira sebagai sifar: opsyen yang tamat pada hari Jumaat ini adalah 2 DTE pada hari Rabu, 1 DTE pada hari Khamis, dan 0 DTE pada hari Jumaat. Hujung minggu dan cuti umum termasuk dalam kiraan — opsyen yang tamat pada hari Isnin adalah 3 DTE pada hari Jumaat walaupun hanya satu sesi dagangan yang tinggal. Ketidakpadanan itu lebih penting daripada yang kelihatan: nilai masa opsyen merosot sepanjang hari kalendar (jam tidak berhenti pada hari Sabtu), itulah sebabnya DTE yang merentasi hujung minggu berkelakuan berbeza daripada kiraan yang sama pada pertengahan minggu.

Nombor ini tidak dicetak pada kontrak — ia diperoleh daripada tarikh tamat tempoh, jadi ia menurun satu setiap hari. Rantaian opsyen broker anda sebenarnya adalah tangga DTE: tab tamat tempoh di bahagian atas adalah spektrum yang sama, hanya dilabelkan dengan tarikh dan bukannya kiraan hari.

Cara mengira DTE sendiri

Pengiraannya adalah satu penolakan:

  1. Cari tarikh luput kontrak. Setiap opsyen AS yang tersenarai membawanya dalam simbol: O:SPY260710P00740000 berbunyi SPY, kemudian 260710 = 2026-07-10, kemudian P untuk put, kemudian strike (740.000). Broker anda menunjukkan tarikh yang sama di bahagian atas tab rantai.
  2. Tolak tarikh hari ini daripadanya, mengira setiap hari kalendar — hujung minggu dan cuti pasaran termasuk.
  3. Jawapannya ialah DTE. Hari luput itu sendiri ialah 0; sehari sebelumnya ialah 1.

Tiada apa-apa lagi yang terlibat — tiada pelarasan hari dagangan, tiada pembundaran. Berikut ialah penolakan yang dijalankan ke atas kontrak sebenar: kontrak SPY yang paling banyak didagangkan dalam setiap jalur DTE pada sesi Rabu, 8 Julai 2026, dengan tarikh didagangkan dan tarikh luput dihuraikan terus daripada simbol.

PertanyaanDTE, kontrak sebenar — opsyen SPY paling didagang dalam setiap jalur DTE, 8 Julai 2026
SQL tepat di sebalik setiap nombor
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)

Baca baris 1 DTE: O:SPY260709P00740000 didagangkan pada July 8, 2026 dan luput pada July 9, 2026, satu hari kalendar berbeza, jadi ia adalah 1 DTE, dan 93,266 kontrak bertukar tangan di dalamnya. Pemimpin jalur 31-90 DTE, O:SPY260918P00650000, luput September 18, 202672 hari kalendar dari tarikh dagangan yang sama. Penolakan yang sama, rantai yang sama, instrumen yang sangat berbeza.

Di mana sebenarnya volum berada, mengikut DTE

Satu sesi penuh bagi setiap opsyen AS yang tersenarai, dikumpulkan mengikut baki hari setiap kontrak yang didagangkan:

PertanyaanVolume opsyen mengikut hari hingga tamat tempoh — setiap opsyen AS didagang pada 8 Julai 2026
SQL tepat di sebalik setiap nombor
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)

Data menunjukkan kecenderungan yang sangat ketara ke hadapan: 38.9% daripada volum kontrak hari itu adalah 0 DTE — opsyen pada jam terakhirnya — berbanding 8.1% untuk semua yang berusia 91 hari atau lebih. Ringkasan penerimaan meletakkan angka pada keseluruhan bahagian hadapan lengkung:

PertanyaanBahagian hadapan lengkung — bahagian volume 8 Julai 2026 dalam seminggu dari tamat tempoh
SQL tepat di sebalik setiap nombor
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% daripada 62.6 juta kontrak sesi itu mempunyai baki seminggu atau kurang; hanya 18.7% mempunyai lebih daripada sebulan. Fenomena 0DTE mendapat tajuk utama, tetapi corak yang lebih luas ialah volum opsyen secara keseluruhan menumpu ke arah tamat tempoh — di mana premium paling kecil, peleraian paling cepat, dan setiap kedudukan diselesaikan dalam beberapa hari. Walau bagaimanapun, volum tidak sama dengan kedudukan: kepentingan terbuka mengira kontrak yang masih dipegang semalaman, dan ia cenderung lebih panjang.

Apa yang DTE lakukan pada harga opsyen

Masa adalah bahan mentah yang membentuk opsyen, dan DTE ialah jumlah masa yang anda beli. Untuk mengasingkan kesan ini, pegang semua faktor lain tetap — aset pendasar yang sama, strike pada paras wang (at-the-money), sesi dagangan yang sama dalam tempoh setengah jam yang sama — dan hanya ubah tarikh luput. Panel di bawah memilih, untuk senarai jangka hayat sasaran, panggilan SPY yang strikenya paling hampir dengan harga dagangan SPY sekitar tengah hari pada 8 Julai 2026.

PertanyaanHarga masa — harga panggilan SPY pada wang mengikut DTE, tengah hari 8 Julai 2026
SQL tepat di sebalik setiap nombor
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

Panggilan pada paras wang yang luput pada petang itu berharga $1.65. Panggilan yang luput pada keesokan harinya berharga $2.92; seminggu kemudian, $6.09; sebulan kemudian, $13.85; dan kontrak dengan tarikh luput paling panjang dalam senarai, 891 DTE, berharga $125.64. Perhatikan apa yang tidak berlaku pada harga: ia tidak berkadar dengan masa. Kira-kira tiga puluh kali ganda jangka hayat kalendar opsyen hari yang sama tidak membawa harga tiga puluh kali ganda.

Lajur kanan menukarkan angka itu kepada nombor yang benar-benar dirasai oleh pedagang — premium dibahagikan dengan baki hari kalendar. Pada 891 DTE pembeli membayar $0.14 untuk setiap baki hari opsyen; pada 7 DTE, $0.87; pada 2 DTE, $1.92. Masa menjadi semakin mahal setiap hari apabila tarikh luput semakin hampir — peningkatan ini adalah maksud "theta memecut", dan lajur ini adalah resit untuknya. (Baris 0 DTE adalah satu-satunya pengecualian dalam jadual ini, atas sebab mekanikal: diukur pada tengah hari, ia mempunyai baki hayat beberapa jam dan bukannya sehari penuh, jadi membahagikan premiumnya dengan "satu hari" memandang rendah kadar pembakaran sebenar setiap hari.)

Tiker manakah yang sebenarnya menawarkan opsyen 0DTE?

Tidak semua aset pendasar mempunyai kontrak yang tamat pada hari yang sama untuk didagangkan. Rantaian yang menawarkan tamat tempoh hampir setiap hari hanyalah senarai pendek — ETF indeks besar dan segelintir nama bermodal mega. Enam tiker terkenal, sesi yang sama:

PertanyaanMenu DTE dibandingkan — tamat tempoh didagang dan bahagian 0DTE mengikut asas, 8 Julai 2026
SQL tepat di sebalik setiap nombor
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 telah memperdagangkan 35 tarikh tamat tempoh yang berbeza dalam satu sesi itu — daripada 0 DTE hingga 891 DTE, opsyen hari yang sama dan LEAPS bertahun-tahun dalam satu rantaian — dan 70.1% daripada volumnya adalah dalam kontrak hari yang sama. QQQ dan TSLA juga mempunyai kontrak yang tamat pada hari Rabu itu (71.5% dan 62% daripada volum mereka). KO tidak: tamat tempoh terdekatnya berada 2 hari lagi, dan 0% daripada volumnya adalah 0 DTE. Rantaiannya menyenaraikan hari Jumaat, jadi pada hari Rabu tiada kontrak hari yang sama untuk dibeli.

Itulah jawapan praktikal kepada "bolehkah saya berdagang 0DTE pada saham saya?" — lihat dalam rantaian untuk tarikh tamat tempoh yang bertarikh hari ini. ETF indeks menyenaraikan satu hampir setiap hari dagangan; saham bermodal sederhana atau nama dividen yang tenang biasanya menawarkan Jumaat mingguan dan bulanan, dan tiada yang lebih pendek. Apabila opsyen tamat tempoh memetakan kalendar penuh, dan triple witching merangkumi pengumpulan suku tahunan.

Adakah bahagian hadapan keluk sentiasa sesak begini?

Tidak — kesesakan ini baru berlaku, dan ia boleh diukur. Tetingkap lima sesi yang sama pada pertengahan Jun, hanya opsyen SPY, satu tahun pada satu masa:

PertanyaanKebangkitan 0DTE — bahagian hari sama volume opsyen SPY, 8-12 Jun setiap tahun
SQL tepat di sebalik setiap nombor
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

Pada 2020, kontrak hari yang sama adalah 20.2% daripada jumlah volum opsyen SPY dalam tetingkap itu. Menjelang 2023, ia meningkat kepada 44.2%, dan pada 2026 ia mencapai 69.5%. Kenaikan ini tidak sepenuhnya monoton: 2021 mencatat 18.6%, di bawah bacaan 2020. Mulai 2022 dan seterusnya, setiap sampel Jun menunjukkan angka lebih tinggi daripada sebelumnya. Kontrak dengan baki seminggu atau kurang meningkat daripada 61.7% kepada 89.9% dalam tempoh yang sama, berdasarkan 71.9 juta kontrak SPY dalam tetingkap terkini. Perbualan mengenai DTE lebih lantang berbanding lima tahun lalu, dan pita pasaran bersetuju.

Memilih DTE untuk strategi anda

Tiada DTE yang betul — hanya ada pertukaran, dan ia bersifat mekanikal. DTE pendek bermakna premium murah, pereputan pantas, dan kepekaan yang luar biasa terhadap pergerakan kecil berhampiran strike. DTE panjang bermakna premium mahal, pereputan perlahan, dan kelakuan yang lebih hampir kepada saham itu sendiri. Dialek pasaran yang dikongsi:

  • 0-1 DTE (hari yang sama dan semalaman). Premium terkecil di papan, pembakaran nilai-masa sepenuhnya menjelang tutup, hasil sama ada semua atau tiada. Di sinilah volum berada — dan di mana pergerakan buruk tidak meninggalkan masa untuk pulih.
  • Mingguan, 2-7 DTE. Ruang dalam hari, bukan jam. Rumah biasa untuk spread kredit bertempoh pendek; masih dalam bahagian curam keluk pereputan di atas.
  • 30-45 DTE. Jalur konvensional untuk penjualan premium — covered call, cash-secured put. Sering disebut sebagai titik keseimbangan di mana pereputan adalah bermakna tetapi tidak gila, dan di mana kedudukan boleh diurus dan bukannya hanya ditanggung. Pada tangga 8 Julai, panggilan pada wang 30 DTE berharga $13.85 berbanding $1.65 untuk strike hari yang sama: sebulan masa pada $0.46 setiap hari berbaki.
  • LEAPS, kira-kira 365 DTE dan ke atas. Dihargakan kebanyakannya pada pergerakan jangka panjang asas dan bukannya jam yang berdetik — masa termurah di papan setiap hari berbaki ($0.14 pada 891 DTE), dan perbelanjaan tunai terbesar di awal.

Tiada satu pun jalur ini adalah peraturan. Ia menggambarkan bagaimana pasaran bercakap — dan, mengikut data volum di atas, dialek mana yang sebenarnya digunakan. Walau apa pun jalur yang anda pilih, kos dagangan bertindih di atas premium: kos untuk berdagang opsyen menguraikan bil setiap kontrak.

FAQ

Bagaimana cara mengira DTE?

Tolak tarikh hari ini daripada tarikh luput kontrak dan kira setiap hari kalendar di antaranya, termasuk hujung minggu dan cuti umum. Hari luput adalah sifar. Pada 8 Julai 2026, kontrak SPY paling banyak didagangkan dalam lingkungan 2-7 DTE, O:SPY260710P00740000, luput July 10, 20262 hari kalendar lagi, menjadikannya 2 DTE pada hari itu.

Apakah maksud 0 DTE?

Opsyen yang didagangkan pada hari luputnya sendiri — sifar hari sehingga luput. Ia berhenti didagangkan pada penutup hari itu dan diselesaikan sebagai tidak bernilai atau dalam wang pada petang yang sama. Pada 8 Julai 2026, kontrak 0 DTE sahaja merupakan 38.9% daripada jumlah volum opsyen AS — apakah itu 0DTE merangkumi fenomena ini secara mendalam.

Adakah DTE dikira dalam hari kalendar atau hari dagangan?

Hari kalendar, mengikut konvensyen hampir sejagat. Hujung minggu dan cuti umum dikira, dan nilai masa terhakis melaluinya — opsyen 3 DTE pada hari Jumaat (luput pada hari Isnin) mempunyai satu sesi dagangan yang tinggal tetapi tiga hari masa.

Apakah DTE terbaik untuk dagangan opsyen?

Tiada satu DTE terbaik; pilihan itu menentukan pertukaran. Kontrak jangka pendek adalah murah dan terbakar dengan pantas — panggilan SPY pada wang yang luput pada petang yang sama berharga $1.65 pada 8 Julai 2026 — manakala kontrak jangka panjang jauh lebih mahal di awal dan jauh lebih murah setiap hari hayat ($0.14 setiap baki hari pada 891 DTE). Penjual premium secara konvensional bekerja dalam lingkungan 30-45 DTE; pembeli yang mahukan masa di pihak mereka memilih tempoh yang lebih panjang.

Apakah DTE yang kebanyakan pedagang opsyen dagangkan?

Jawapan yang diukur untuk 8 Julai 2026: 61.8% daripada volum kontrak berada pada 7 DTE atau kurang, dengan 38.9% pada 0 DTE sahaja. Aktiviti jangka panjang wujud — 18.7% daripada volum adalah 31+ DTE — tetapi pusat graviti pasaran adalah di hadapan lengkung, dan ia telah bergerak lebih ke hadapan dalam setiap sampel Jun sejak 2022.


Setiap nombor di atas adalah pertanyaan tersimpan dan berversi ke atas pita opsyen penuh — kembangkan panel SQL mana-mana, atau potong spektrum DTE untuk mana-mana asas pada terminal Strasmore.