Strasmore Research
学习 Matt Connor作者: Matt Connor · 更新于 2026-07-19 · English Français

期权什么时候到期?每日、每周与每月到期日

多数美股股票期权在周五美东时间下午4点收盘时到期,但SPY等大型ETF每个交易日都有到期合约,月期权落在每月第三个周五,遇到假日则提前一个交易日。本文用真实成交数据展示实际的到期日历。

美国股票期权在其标明的到期日到期——对大多数合约来说是某个周五,当天交易在美东时间下午4:00收盘时截止。月期权合约落在每月的第三个周五;交易最活跃的ETF和指数产品每个交易日都会挂出一个新的到期日;而当周五恰逢交易所假日时,到期日提前到周四。这些是纸面上的规则。本页展示的是实际交易出来的日历——六周完整的期权成交数据、2026年剩余月份经数据测得的第三个周五日期,以及一个把周五挪走的假日周。

期权实际在星期几到期?

按所交易合约的到期日星期几统计的成交量,2026年6月1日至7月9日,覆盖全部挂牌美国期权:

查询按到期日星期几统计的期权成交量:2026年6月1日至7月9日交易的全部美国期权
每个数字背后的完整 SQL
SELECT weekday,
       round(sum(vol) / 1e6, 1) AS contracts_mm,
       round(100 * sum(vol) / sum(sum(vol)) OVER (), 1) AS pct_of_volume,
       uniqExact(expiry) AS distinct_expiry_dates,
       uniqExact(root) AS underlyings
FROM (
    SELECT toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
           substring(ticker, 3, length(ticker) - 17) AS root,
           multiIf(toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 1, '1 Monday',
                   toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 2, '2 Tuesday',
                   toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 3, '3 Wednesday',
                   toDayOfWeek(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) = 4, '4 Thursday',
                   '5 Friday') AS weekday,
           toFloat64(volume) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= '2026-06-01 04:00:00'
      AND window_start < '2026-07-10 04:00:00'
)
WHERE expiry IS NOT NULL
GROUP BY weekday
ORDER BY weekday

周五到期的合约占窗口内全部成交量的48.3%——共903.2百万张合约,分布在39个不同的周五到期日上。周五仍是这份日历的重心:周期权(每周到期的合约)在周五到期,月度周期也落在第三个周五。周四那一行的分量超出其体量——仅14个日期就占了21.6%的成交量——其中两个周四是被挪动的周五,下文详述。

标的一栏回答的是您的股票的标题之问。周五到期的合约在5871个不同的期权根代码(root)上有成交——几乎覆盖美国所有可交易期权的标的——而周一和周二到期的合约分别只在33个和30个根代码上成交(占成交量的10%和8%),周三为45个:周中到期属于指数产品、少数ETF和一小撮交投极为活跃的个股。对其余所有标的而言,到期就意味着周五。(周四的5301个根代码,正是那两个被挪动的周五在起作用。)有一个奇怪之处值得记住:周三有22个不同的到期日——比周四的14个还多——成交量却只占12.1%;指数期权一节会解开这个谜。

每天都到期的代码

对SPY及其同类来说,“期权什么时候到期”的答案很干脆:就是今天,无论今天是哪一天。2026年6月的每一个交易日都是SPY的到期日:

查询SPY期权按2026年6月到期日统计的成交量:每个交易日都有一个新的到期日
每个数字背后的完整 SQL
SELECT toString(expiry) AS expiry_date,
       round(sum(vol) / 1e6, 2) AS contracts_mm
FROM (
    SELECT toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
           toFloat64(volume) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= '2026-06-01 04:00:00'
      AND window_start < '2026-07-01 04:00:00'
      AND ticker LIKE 'O:SPY2%'
)
WHERE expiry >= '2026-06-01' AND expiry <= '2026-06-30'
GROUP BY expiry
ORDER BY expiry

21个到期日出现在一个只有21个交易日的月份里——每个交易日一个。正是这种每日周期让0DTE期权(零日到期期权)得以大规模存在(DTE即days to expiration,距到期天数)。那么哪些代码有每日到期?2026年6月,恰好有11个期权根代码在全部21个交易日都挂出了到期合约:

查询每日到期俱乐部:2026年6月全部21个交易日都有到期合约的根代码
每个数字背后的完整 SQL
SELECT root,
       uniqExact(expiry) AS june_expiry_dates,
       round(sum(vol) / 1e6, 1) AS contracts_mm
FROM (
    SELECT substring(ticker, 3, length(ticker) - 17) AS root,
           toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
           toFloat64(volume) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= '2026-06-01 04:00:00'
      AND window_start < '2026-07-01 04:00:00'
)
WHERE expiry >= '2026-06-01' AND expiry <= '2026-06-30' AND root != 'SPCX'
GROUP BY root
HAVING june_expiry_dates >= 20
ORDER BY june_expiry_dates DESC, contracts_mm DESC, root

其中三个是股票ETF——SPY、QQQ和IWM,居首的SPY六月成交240.3百万张合约。另外八个是现金结算的指数根代码:标普500的周度根代码SPXW及其迷你版XSP,加上纳斯达克100、罗素2000和道指的各类变体。名单上没有任何一只普通个股——不过个股离这一步比多数人以为的更近。NVDA六月的各个到期日,按成交量排序:

查询NVDA期权按2026年6月到期日统计的成交量:前六大到期日
每个数字背后的完整 SQL
SELECT toString(expiry) AS expiry_date,
       round(sum(vol) / 1e6, 2) AS contracts_mm
FROM (
    SELECT toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
           toFloat64(volume) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= '2026-06-01 04:00:00'
      AND window_start < '2026-07-01 04:00:00'
      AND ticker LIKE 'O:NVDA2%'
)
WHERE expiry >= '2026-06-01' AND expiry <= '2026-06-30'
GROUP BY expiry
ORDER BY contracts_mm DESC
LIMIT 6

排在首位的2026-06-18成交6.76百万张合约,是六月的月度到期日——如下文所述被挪到了周四——其余靠前的行则由每周的周五主导。NVDA也挂出周中到期日,而且确实有成交,但周度加月度的节奏仍占据大部分成交量。

为什么我的股票只有每月到期?

挂牌规则决定了您看到的日历。每只可交易期权的股票都带有第三个周五的月期权合约,并且每个期权类别在挂牌时就被分配到三个沿袭下来的季度周期之一,由它决定较远月份的挂牌:1月/4月/7月/10月、2月/5月/8月/11月,或3月/6月/9月/12月。这种分配是交易大厅时代留下的化石,但它至今仍决定一只交投较慢的股票的期权板上挂着哪些远月。交易所还为每个类别挂出最近的两个月份,在需求足够的标的上挂出周五到期的周期权,并为上面那11个根代码挂出每日到期。金字塔由此而来:5871个根代码有周五到期日,45个有周三,33个有周一。一只每月只显示一个到期日的股票,只不过是没有周期权挂牌而已。

2026年剩余的到期日历

到期日在多年前就已排定,远期合约如今已在交易——2026年剩下的日历可以直接从成交数据里读出来。对2026年剩余的每个月,7月6日至9日交易中最活跃的到期日:

查询用数据测得的2026年剩余月份:各月成交最活跃的远期到期日,7月6日至9日数据
每个数字背后的完整 SQL
WITH per_expiry AS (
    SELECT toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
           sum(toFloat64(volume)) AS v,
           uniqExact(substring(ticker, 3, length(ticker) - 17)) AS underlyings
    FROM global_markets.options_minute_aggs
    WHERE window_start >= '2026-07-06 04:00:00'
      AND window_start < '2026-07-10 04:00:00'
    GROUP BY expiry
)
SELECT formatDateTime(toStartOfMonth(expiry), '%Y-%m') AS month,
       toString(argMax(expiry, (v, toString(expiry)))) AS busiest_expiry_date,
       dateName('weekday', argMax(expiry, (v, toString(expiry)))) AS weekday,
       round(max(v) / 1e6, 1) AS contracts_mm,
       argMax(underlyings, (v, toString(expiry))) AS underlyings
FROM per_expiry
WHERE expiry >= '2026-07-13' AND expiry <= '2026-12-31'
GROUP BY month
HAVING toDayOfWeek(argMax(expiry, (v, toString(expiry)))) = 5
   AND toDayOfMonth(argMax(expiry, (v, toString(expiry)))) BETWEEN 15 AND 21
ORDER BY month

每一个都落在当月15日至21日之间的周五——第三个周五:2026-07-172026-08-212026-09-182026-10-162026-11-202026-12-18。其中两个(2026-09-182026-12-18)是季度性的三重魔力日(triple witching,指股票期权、指数期权和指数期货同日到期);2026年另外两个季度日期已经过去——3月20日,以及下一节讲到的被挪动的6月18日。把11月和12月对照来看:承载11月月期权的根代码有1493个,而12月有2432个——12月是季度月份,长期期权LEAPS的挂牌锚定在这里。

到期周五遇上假日会怎样?

规则是:到期日移到前一个交易日。本窗口正好包含2026年的两个例子。6月19日(六月节,Juneteenth)把季度到期日推到了周四6月18日——即三重魔力日那个交易日。7月3日因独立日休市,把那一周的周期权挪到了周四7月2日。7月这次挪动的凭证,以SPY合约计:

查询2026年7月的假日挪动:SPY在周四7月2日与周五7月3日到期合约上的成交量
每个数字背后的完整 SQL
SELECT round(sumIf(vol, expiry = '2026-07-02') / 1e6, 2) AS thursday_july2_contracts_mm,
       round(sumIf(vol, expiry = '2026-07-03') / 1e6, 2) AS friday_july3_contracts_mm
FROM (
    SELECT toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
           toFloat64(volume) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= '2026-06-29 04:00:00'
      AND window_start < '2026-07-03 04:00:00'
      AND ticker LIKE 'O:SPY2%'
)
WHERE expiry IS NOT NULL

注明周五7月3日到期的合约成交了0百万张——为零。这样的合约根本不存在;挂牌日历把那一周的周五到期引到了周四7月2日,仅这一天就成交了12.84百万张SPY合约。假日周的更多内容见市场假日与提前收盘

指数期权的规则不一样

指数期权——SPX系列、NDX、RUT、VIX——是现金结算的(行权划转的是现金而非股票,参照指数的结算水平),并且是欧式期权(到期前不能行权)。多数指数期权交易到美东时间下午4:15,比股票收盘晚十五分钟;不过一份当天到期的PM结算(收盘结算)合约,按下午4:00收盘价计算出的指数水平结算。而经典的第三个周五SPX月度合约是AM结算(开盘结算):它在周四收盘时停止交易,按周五早盘开盘价计算出的水平结算。较新的周度和每日指数合约(SPXW根代码)为PM结算。

VIX期权是这份日历上的另一个异类:它们在周三早上到期,AM结算,每个月度周期一个,并且挂到很多个月之后——这正是前文周三谜题的答案。按周三到期日数量排列的根代码,来自7月的四个交易日数据:

查询周三属于谁:按周三到期日数量排列的根代码,2026年7月6日至9日数据
每个数字背后的完整 SQL
SELECT root,
       uniqExact(expiry) AS wednesday_expiry_dates,
       toString(min(expiry)) AS nearest,
       toString(max(expiry)) AS furthest,
       round(sum(vol) / 1000, 0) AS contracts_k
FROM (
    SELECT substring(ticker, 3, length(ticker) - 17) AS root,
           toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) AS expiry,
           toFloat64(volume) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= '2026-07-06 04:00:00'
      AND window_start < '2026-07-10 04:00:00'
)
WHERE expiry IS NOT NULL AND toDayOfWeek(expiry) = 3 AND expiry >= '2026-07-08' AND root != 'SPCX'
GROUP BY root
ORDER BY wednesday_expiry_dates DESC, contracts_k DESC, root
LIMIT 8

VIX拥有9个不同的周三到期日——一条从2026-07-22一直排到2027-03-17的链,每个周期一个——SPXW则以9个与之持平。ETF的行都更近:每日和每周挂牌,加上季度末合约(2027年6月30日是周三)。VIX的远月月期权叠在ETF的每日合约之上,让周三拥有的不同到期日数量超过除周五外的任何一天——六周窗口内共22个——成交量却只占很小一角。

到期当天究竟发生什么?

多数股票和ETF期权在到期日美东时间下午4:00收盘时停止交易。收盘后,期权清算公司(OCC)执行例外行权(exercise-by-exception):任何价内幅度达到0.01美元或以上的期权都会被自动行权,除非持有人另有指示。价内看涨期权变成按行权价买入股票;价内看跌期权变成卖出股票;价外合约作废归零。股票交割按正常周期结算。

到期是最后期限,而不是唯一的行权窗口。股票和ETF期权是美式期权:合约存续期内的任何工作日都可以行权。提前行权集中在除息日前一天的深度价内看涨期权上——此时拿到股息的价值可能超过剩余的时间价值。对卖出这类看涨期权的人来说,被指派的风险在除息日前夜到达顶点,而不是在到期时。

截止时间、钉住风险与最后一小时

  • 您券商的截止时间早于OCC的。OCC在到期日大约美东时间下午5:30前接受行权指示;券商通常在下午4:30左右就对客户截止。要推翻自动行权,得按您券商的时钟办事。
  • 期权停止交易后,股票还在动。例外行权以下午4:00的官方收盘价为准,但盘后价格穿过行权价时,多头可以提交新的指示,而空头只能等待。
  • 钉住风险(pin risk)。当收盘价落在某个成交密集的行权价附近几美分之内时,空头在夜间指派通知送达之前无法知道会有多少合约被指派。常规的化解办法:在最后的收盘钟前平仓或移仓。

为什么到期日主导成交数据

到期是一个被迫做决定的时点,而成交量记录着这些决定。持有人想留过到期日的头寸必须移仓(roll)——平掉即将到期的合约,在更远月的合约上重新建仓——两边都打出成交量。不想要的头寸被直接平掉;做市商则对所有仍未平仓合约不断缩水的时间价值持续对冲。这个决定时点有多集中?把2026年6月成交的每一张SPY合约,按成交那一刻距到期还剩几天分组:

查询2026年6月SPY期权按成交时距到期天数统计的成交量
每个数字背后的完整 SQL
SELECT dte_bucket,
       round(sum(vol) / 1e6, 1) AS contracts_mm,
       round(100.0 * sum(vol) / (sum(sum(vol)) OVER ()), 1) AS pct_of_month
FROM (
    SELECT multiIf(dte = 0, '0 days (expiry day)', dte = 1, '1 day left', dte <= 5, '2-5 days left', '6+ days left') AS dte_bucket,
           dte, vol
    FROM (
        SELECT dateDiff('day', toDate(toTimeZone(window_start, 'America/New_York')),
                        toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) AS dte,
               toFloat64(volume) AS vol
        FROM global_markets.options_minute_aggs
        WHERE window_start >= '2026-06-01 04:00:00'
          AND window_start < '2026-07-01 04:00:00'
          AND ticker LIKE 'O:SPY2%'
    )
    WHERE dte >= 0
)
GROUP BY dte_bucket
ORDER BY min(dte)

当月合约成交量的69.5%发生在到期日当天,另有9.3%发生在距到期还剩一天时——到期日不只是终结合约,它还承载了合约整个生命周期里的大部分成交量。这些活动由日历本身按一份多年前就已排定的时间表安排出来。

一个至今仍让人困惑的历史注脚:几十年间,挂牌股票期权在技术上到期于第三个周五之后的那个周六——那是前电子化时代处理纸质单据的缓冲。业界在2015年把法定到期日移到了周五当天;一份还写着期权在周六到期的老指南,引用的正是这块化石。

FAQ

期权在到期日几点到期?

多数股票和ETF期权的交易在到期日美东时间下午4:00结束;多数指数期权交易到下午4:15。行权决定在收盘后处理——OCC接受指示到大约美东时间下午5:30,但券商设定的截止时间更早。

所有期权都在周五到期吗?

不是——但在这里测得的六周里,周五到期的合约承载了全部成交量的48.3%,覆盖5871个标的根代码。11个跟踪指数的根代码有每日到期,几十只活跃个股带有周中到期日,VIX在周三早上到期,而月度周期落在第三个周五。

期权到期前可以行权吗?

股票和ETF期权可以——它们是美式期权,任何工作日都能行权。实践中,提前行权主要发生在除息日前的深度价内看涨期权上。SPX这类指数期权是欧式期权:只在到期时行权。

期权到期时处于价内会怎样?

如果到期时价内幅度达到0.01美元或以上,它会被自动行权——看涨期权按行权价买入股票,看跌期权按行权价卖出——除非您在券商截止时间前另行指示。

周五休市时到期的期权怎么办?

到期日移到前一个交易日。2026年的两个案例都在上面的数据里:六月节把6月的月期权挪到了周四6月18日,7月4日假期休市把那一周的周期权挪到了周四7月2日。

哪些股票和ETF有每日到期的期权?

少数流动性最好的指数ETF每个交易日都挂出新的到期日,SPY和QQQ排在这群标的最前面。个股最多只到周期权。用期权成交数据测得的完整名单见哪些股票有每日期权

临近到期时期权的希腊字母会怎样变化?

时间价值在最后阶段流失得最快——theta(每日的持有成本)在最后几天达到顶峰——而gamma(delta自身变化的速度)在平值行权价附近急升。这一组合正是到期周合约让人觉得敏感易动的所在。全部敏感度指标在真实数据上的测量见期权希腊字母详解希腊字母在合约生命周期中如何变化把它们从挂牌一路跟到到期,thetagamma各有专文深入解读。


每个面板都是对完整期权成交数据的一条已存储、带版本的查询——展开SQL即可查看每一项测量,或到Strasmore终端查看任意代码的期权到期日历。