期权DTE是什么意思:到期前天数详解
DTE即days to expiration,指期权到期前的日历天数,到期日当天记为0。本文讲解DTE的计算方法,用真实成交数据展示成交量在各DTE区间的分布,以及时间价值随到期临近的消耗速度。
DTE,即 days to expiration,到期前天数,指期权合约距离到期还剩多少个日历日。一张“30 DTE”的看涨期权将在三十天后到期;一张“0DTE”期权则在交易当天到期。DTE 是期权讨论中最常用的简称,它浓缩了任何一张期权最重要的信息:还剩多少时间。本页将给出这个术语的精确定义,向您演示如何在自己的期权链中算出一张真实合约的 DTE,并基于真实的期权成交数据,测量 DTE 对期权价格的影响,以及市场成交量在整个 DTE 区间上的分布。
DTE 是什么意思?
DTE 是 days to expiration 的缩写(有时也写作 days till expiry),即到期前天数。市场惯例按日历日而非交易日计算,从当前日期一直数到合约的到期日,到期日当天记为 0:一张本周五到期的期权,周三是 2 DTE,周四是 1 DTE,周五是 0 DTE。周末和节假日都算在计数之内:一张周一到期的期权,周五时是 3 DTE,尽管中间只剩一个交易日。这个差别比看起来更重要:期权的时间价值按日历日持续消耗(时钟在周六并不会暂停),跨周末的 DTE 与周中相同天数的 DTE 表现有所不同,原因就在这里。
这个数字并不印在合约上,而是由到期日推算出来的,因此每过一天就减一。您的券商的期权链其实就是一把 DTE 阶梯:顶部一排到期日标签展示的正是同一个区间,只不过标注的是日期而不是剩余天数。
如何自己计算 DTE
计算只需一次减法:
- 找到合约的到期日。每一张美国上市期权的代码中都带有到期日:
O:SPY260710P00740000依次读作标的 SPY、260710即 2026-07-10、P 表示看跌期权,最后是行权价(740.000)。您的券商在期权链标签页顶部也会显示同一个日期。 - 用到期日减去今天的日期,逐个数出中间的每一个日历日,周末和市场休市日都计算在内。
- 得到的差值就是 DTE。到期日当天为 0,前一天为 1。
除此之外没有任何其他步骤,不做交易日调整,也不做取整。下面把这道减法套在真实合约上:2026年7月8日(周三)这一个交易日内,各 DTE 区间成交最多的那一张 SPY 合约,交易日期与到期日期都直接从合约代码中解析得出。
每个数字背后的完整 SQL
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)请看 1 DTE 那一行:O:SPY260709P00740000 的交易日为 July 8, 2026,到期日为 July 9, 2026,两者相差一个日历日,因此它是 1 DTE,当天该合约共成交 93,266 张。31-90 DTE 区间的成交冠军 O:SPY260918P00650000 于 September 18, 2026 到期,距同一交易日 72 个日历日。同一道减法,同一条期权链,却是截然不同的两种工具。
成交量实际分布在哪些 DTE 上
下表取一个完整交易日内全部美国上市期权的成交,按每张成交合约剩余的天数分组:
每个数字背后的完整 SQL
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)成交向近端集中的程度令人吃惊:当天合约成交量的 38.9% 是 0 DTE,也就是处于生命最后几小时的期权;而 91 天及更远的全部合约加起来只占 8.1%。下面这张汇总表为整个曲线前端给出一个数字:
每个数字背后的完整 SQL
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当天成交的 62.6 百万张合约中,61.8% 的成交量剩余寿命不足一周;只有 18.7% 还剩一个月以上。0DTE 现象占据了新闻标题,但更普遍的规律是期权成交量整体向到期日聚集:那里权利金最小、时间价值消耗最快,每个头寸都在几天之内见分晓。不过,成交量并不等于持仓:未平仓合约数统计的是隔夜仍被持有的合约,其分布偏向更长的期限。
DTE 对期权价格的影响
时间是构成期权的原材料,而 DTE 标明您买入的时间有多少。要把这一因素单独分离出来,就要固定其他所有条件:同一标的、平值附近的行权价、同一交易日的同一时段,只改变到期日。下表针对一组目标存续期,逐一选出行权价最接近 2026年7月8日午间 SPY 成交价的 SPY 看涨期权。
每个数字背后的完整 SQL
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当天下午到期的平值看涨期权价格为 1.65 美元。次日到期的为 2.92 美元;一周后到期的为 6.09 美元;一个月后到期的为 13.85 美元;阶梯上期限最长的合约(891 DTE)价格为 125.64 美元。请注意价格不是什么:它不与时间成正比。日历寿命约为当日到期期权三十倍的合约,价格远远不到后者的三十倍。
最右一列把这一点换算成交易者真正有体感的数字:权利金除以剩余日历天数。在 891 DTE 档,买方为每一个剩余的期权日支付 0.14 美元;7 DTE 档为 0.87 美元;2 DTE 档为 1.92 美元。越临近到期日,每一天的时间就越贵,这条逐渐变陡的曲线就是“theta 加速”的含义,而这一列正是它的凭证。(0 DTE 那一行是表中唯一的例外,原因纯属机制性:在午间测量时它只剩几个小时而非一整天,用“一天”去除它的权利金会低估其真实的单日消耗速度。)
哪些标的真正有 0DTE 期权?
并非每个标的都有当日到期的合约可交易。挂出接近每日到期序列的期权链只是很短的一份名单:大型指数 ETF 和少数几只超大市值股票。下面是六个家喻户晓的代码在同一交易日的情况:
SPY 在这一个交易日内成交了 35 个不同的到期日,从 0 DTE 一直延伸到 891 DTE,当日到期的期权与存续数年的 LEAPS 同在一条期权链上,其成交量的 70.1% 来自当日到期合约。QQQ 和 TSLA 当周三同样有到期的合约(分别占其成交量的 71.5% 和 62%)。KO 则没有:它最近的到期日在 2 天之后,0 DTE 占其成交量的 0%。它的期权链只挂周五到期的合约,周三这一天根本不存在可买的当日到期合约。
这就是“我的股票能不能交易 0DTE”这个问题的实操答案:到期权链里找一找有没有日期就是今天的到期日。指数 ETF 几乎每个交易日都会挂出一个;中盘股或走势平稳的分红股通常只提供每周五到期的周合约和月合约,没有更短的。期权何时到期梳理了完整的到期日历,三重魔力日则介绍每季度一次的到期扎堆。
曲线前端一直这么拥挤吗?
不是。这种拥挤是近几年才出现的,而且可以测量。取每年 6 月中旬同一个为期五个交易日的窗口,只看 SPY 期权,逐年对比:
每个数字背后的完整 SQL
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 year2020 年,在该窗口内当日到期合约占 SPY 期权成交量的 20.2%。到 2023 年,这一比例为 44.2%;2026 年达到 69.5%。攀升并非完全单调:2021 年录得 18.6%,低于 2020 年的读数。自 2022 年起,每一年 6 月的样本都高于前一年。同一时期内,剩余一周及以内的合约占比从 61.7% 升至 89.9%,最新窗口的 SPY 合约成交量为 71.9 百万张。关于 DTE 的讨论比五年前热闹得多,成交数据与之相印证。
如何为您的策略选择 DTE
不存在“正确的”DTE,只有取舍,而且这些取舍都是机制性的。短 DTE 意味着权利金便宜、时间价值消耗快、对行权价附近的小幅波动极其敏感。长 DTE 意味着权利金昂贵、消耗慢、表现更接近股票本身。市场约定俗成的说法如下:
- 0-1 DTE(当日与隔夜)。全场最低的权利金,时间价值到收盘燃烧殆尽,结果非全即无。成交量集中于此,一旦行情不利,也没有时间挽回。
- 周合约,2-7 DTE。回旋余地以天计而非以小时计。短期信用价差常驻于此;仍处于上文衰减曲线最陡的一段。
- 30-45 DTE。卖出权利金策略(备兑看涨、现金担保看跌)的传统区间。常被引述为一个平衡点:时间价值消耗可观但不至于疯狂,头寸可以被管理而不是只能硬扛。在7月8日的阶梯上,30 DTE 的平值看涨期权价格为 13.85 美元,当日到期的同类平值合约则为 1.65 美元:一个月的时间,每个剩余日 0.46 美元。
- LEAPS,大约 365 DTE 及以上。定价主要取决于标的的长期走势而非滴答作响的时钟;按剩余天数折算是全场最便宜的时间(891 DTE 档为每日 0.14 美元),但前期现金支出最大。
这些区间都不是规则,它们只是描述市场如何谈论 DTE,以及(按上文的成交量数据)哪些“方言”真正有人在说。无论您选择哪个区间,交易成本都会叠加在权利金之上:期权交易的成本逐项拆解了每张合约的账单。
FAQ
DTE 如何计算?
用合约的到期日减去今天的日期,逐个数出中间的每一个日历日,周末和节假日都算在内。到期日当天为 0。2026年7月8日,2-7 DTE 区间内成交最多的 SPY 合约 O:SPY260710P00740000 于 July 10, 2026 到期,相距 2 个日历日,因此当天它就是 2 DTE。
0DTE 是什么意思?
指在自身到期日当天交易的期权,到期前天数为零。它在当日收盘时停止交易,当晚要么归零、要么以实值结算。2026年7月8日,仅 0 DTE 合约就占美国期权总成交量的 38.9%。什么是 0DTE 期权对这一现象有深入介绍。
DTE 按日历日还是按交易日计算?
按日历日,这几乎是通行惯例。周末和节假日都计算在内,时间价值在这些日子里同样消耗:周五时一张 3 DTE 的期权(周一到期)只剩一个交易日,但时钟上还有三天。
期权交易选多少 DTE 好?
不存在唯一“最好”的 DTE,选择本身就设定了取舍。短期合约便宜且消耗快:2026年7月8日当天下午到期的 SPY 平值看涨期权价格为 1.65 美元;长期合约前期投入高得多,但按每天折算便宜得多(891 DTE 档每个剩余日 0.14 美元)。卖出权利金的交易者传统上使用 30-45 DTE 区间;希望时间站在自己一边的买方则会选更长的期限。
大多数期权交易者交易多少 DTE?
以 2026年7月8日的实测数据回答:合约成交量的 61.8% 位于 7 DTE 及以内,其中仅 0 DTE 就占 38.9%。更长期限的交易也存在(31 DTE 及以上占成交量的 18.7%),但市场的重心在曲线前端,且自 2022 年以来的每个 6 月样本都在进一步前移。
以上每一个数字都来自对完整期权成交数据的已存储、带版本的查询。您可以展开任意面板查看其 SQL,也可以在 Strasmore 终端上按任意标的切分整个 DTE 区间。