Strasmore Research
Learn Matt ConnorBy Matt Connor · data as of October 2, 2026 · refreshed weekly

When Do NDX Options Expire?

NDX options expire on the third Friday, AM settled from the opening prints, and stop trading the Thursday before. Every remaining 2026 date is listed.

NDX options expire on the third Friday of each month, and the monthly series holds its last trading session on the Thursday before. Settlement is in cash, struck from the Friday morning opening prints of the 100 stocks in the Nasdaq-100 index. The weekly NDXP series runs on the opposite clock: it trades until the 4:00 p.m. ET bell on its own expiration day and settles against closing values. For the wider map across products, start with our guide to when options expire.

When do NDX options expire?

NDX is the option on the Nasdaq-100 index itself, not on a fund that tracks it. Several separate series trade on that index, and each one keeps its own clock.

  • Monthly NDX: expires the third Friday of the month, with the last trade on the Thursday before. The cash settlement value is computed from Friday's opening prints, which is what AM settlement means.
  • Weekly NDXP: expirations through the week, listed for Wednesdays and Fridays. These trade until 4:00 p.m. ET on expiration day and settle against the closing level, the PM convention.
  • End of month: expires on the last trading day of the calendar month, PM-settled, tradable through the close.

Every one of them is cash-settled and European style. No shares change hands at expiration, and no position can be assigned before the expiration date arrives. The split between the two settlement timings is the single most useful thing to learn on this page, and we take it apart in AM vs PM settled options.

When the third Friday is an exchange holiday, the monthly expiration moves back to the Thursday and the last trading day moves to the Wednesday. Good Friday is the case that turns up most often on an April calendar.

NDX monthly expiration dates ahead

The ladder below derives the third Friday of each month from the calendar, pairs it with the Thursday that is the monthly series' final session, and checks each date against the exchange holiday schedule.

QueryNDX monthly expirations ahead: third Friday, Thursday last trade, exchange status
expiration_dateexpiry_labellast_trade_labelcycleexchange_statusdays_away
2026-10-16Oct 16, 2026Oct 15standardfull session14
2026-11-20Nov 20, 2026Nov 19standardfull session49
2026-12-18Dec 18, 2026Dec 17quarterlyfull session77
2027-01-15Jan 15, 2027Jan 14standardfull session105
2027-02-19Feb 19, 2027Feb 18standardfull session140
2027-03-19Mar 19, 2027Mar 18quarterlyfull session168
2027-04-16Apr 16, 2027Apr 15standardfull session196
2027-05-21May 21, 2027May 20standardfull session231
2027-06-18Jun 18, 2027Jun 17quarterlyclosed259
The exact SQL behind every number
WITH months AS
(
    SELECT addMonths(toDate('2026-01-01'), arrayJoin(range(18))) AS month_start
)
SELECT
    toString(e.third_friday)                     AS expiration_date,
    formatDateTime(e.third_friday, '%b %e, %Y')  AS expiry_label,
    formatDateTime(e.third_friday - 1, '%b %e')  AS last_trade_label,
    if(toMonth(e.third_friday) IN (3, 6, 9, 12), 'quarterly', 'standard') AS cycle,
    if(h.status = '', 'full session', h.status)  AS exchange_status,
    dateDiff('day', today(), e.third_friday)     AS days_away
FROM
(
    SELECT month_start + ((12 - toDayOfWeek(month_start)) % 7) + 14 AS third_friday
    FROM months
) AS e
LEFT JOIN
(
    SELECT
        date,
        any(status) AS status
    FROM global_markets.stocks_market_holidays
    GROUP BY date
) AS h ON h.date = e.third_friday
WHERE e.third_friday >= today()
ORDER BY e.third_friday
Run this yourself

The next monthly expiration is Oct 16, 2026, 14 days out, and the monthly series trades for the last time on Oct 15. The ladder carries 9 dated monthly expirations, running through Jun 18, 2027. The cycle column tags the March, June, September and December dates, the quarterly expirations when index options, index futures, equity options and single-stock futures all come off the board in the same window. Those are the dates behind the 2026 triple witching dates, and the full month-by-month view sits in our 2026 options expiration calendar. The exchange_status column reads from the live holiday schedule, so a closure or a 1:00 p.m. early close landing on one of these Fridays shows up on the calendar rather than in a surprise.

The Thursday last trade and the Friday opening print

AM settlement happens once, at the open. The settlement value for the monthly NDX contract comes from a special opening quotation: each of the 100 index members contributes its first regular-session trade price on expiration Friday, and those prints combine into a single index level. That level is the number every monthly NDX contract settles against.

The Thursday close is the last chance to trade the contract. A holder carries the position overnight into a payoff fixed by prices that have not printed yet, with no way to adjust once Friday's opening sequence begins. The monthly SPX contract follows the same convention, covered in when SPX options stop trading.

That opening sequence is visible on the tape as a volume concentration. QQQ, the fund holding the same 100 names, works as a readable stand-in for the index members' opening activity. The panel measures how much of each monthly expiration Friday's regular-session volume printed in the first 15 minutes.

QueryShare of QQQ regular-session volume in the first 15 minutes, monthly expiration Fridays
session_dateexpiry_labelfirst_15min_share_pctsession_volume_millions
2025-09-19Sep 19, 20258.651.6
2025-10-17Oct 17, 2025864.2
2025-11-21Nov 21, 2025890.2
2025-12-19Dec 19, 20251251.7
2026-01-16Jan 16, 20268.254.4
2026-02-20Feb 20, 20266.969.5
2026-03-20Mar 20, 20265.781.1
2026-04-17Apr 17, 20267.446
2026-05-15May 15, 20269.342.3
2026-07-17Jul 17, 202610.346.5
2026-08-21Aug 21, 2026828.6
2026-09-18Sep 18, 20267.538.6
The exact SQL behind every number
SELECT
    toString(d)                                  AS session_date,
    formatDateTime(d, '%b %e, %Y')               AS expiry_label,
    round(100 * toFloat64(sumIf(volume, minute_of_day < 585))
              / toFloat64(sum(volume)), 1)       AS first_15min_share_pct,
    round(toFloat64(sum(volume)) / 1e6, 1)       AS session_volume_millions
FROM
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York'))         AS d,
        toHour(toTimeZone(window_start, 'America/New_York')) * 60
            + toMinute(toTimeZone(window_start, 'America/New_York')) AS minute_of_day,
        volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'QQQ'
      AND window_start >= today() - 400
      AND window_start <  today() - 1
)
WHERE minute_of_day >= 570
  AND minute_of_day <  960
  AND toDayOfWeek(d) = 5
  AND toDayOfMonth(d) BETWEEN 15 AND 21
GROUP BY d
ORDER BY d
Run this yourself

Fifteen minutes is 3.8% of a 390-minute session by the clock. Across the 12 monthly expiration Fridays in the trailing year, the earliest one in the panel put 8.6% of its regular-session volume into that opening window, and the most recent, Sep 18, 2026, put 7.5% into it on 38.6 million shares for the day. Both sit above the clock-time share. The open is a crowded few minutes on these dates, and it is the window the AM settlement value is drawn from.

NDX vs QQQ: two different expiration clocks

QQQ options are listed on an exchange-traded fund rather than on the index, and the mechanics differ at every step. They settle by physical delivery: exercise moves 100 fund shares into or out of the account. They are American style, so a short position can be assigned on any day before expiration, most commonly the day before an ex-dividend date. And they trade until 4:00 p.m. ET on expiration Friday, by which point the monthly NDX contract has been settled since the open. A trader who hedges an NDX monthly with QQQ options, or who assumes one expiry calendar covers both, is working with two different deadlines. The product-level comparison lives in NDX vs QQQ options, and the delivery mechanics in cash settled vs physical delivery.

The hourly tape on a quarterly expiration Friday shows the back half of that mismatch. The panel sets QQQ's hourly volume on the September 2026 quarterly expiration against the ordinary Friday a week earlier.

QueryQQQ volume by ET hour: quarterly expiration Friday (2026-09-18) vs the prior Friday (2026-09-11)
et_timeexpiry_friday_millionsordinary_friday_millions
09:004.53.9
10:005.84.8
11:006.52.7
12:003.81.8
13:0031.9
14:004.12.2
15:0010.94.7
The exact SQL behind every number
SELECT
    formatDateTime(toStartOfHour(toTimeZone(window_start, 'America/New_York')), '%H:00') AS et_time,
    round(toFloat64(sumIf(volume, is_expiry = 1)) / 1e6, 1) AS expiry_friday_millions,
    round(toFloat64(sumIf(volume, is_expiry = 0)) / 1e6, 1) AS ordinary_friday_millions
FROM
(
    SELECT
        window_start,
        volume,
        toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2026-09-18') AS is_expiry,
        toHour(toTimeZone(window_start, 'America/New_York')) * 60
            + toMinute(toTimeZone(window_start, 'America/New_York')) AS minute_of_day
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'QQQ'
      AND window_start >= toDateTime('2026-09-11 00:00:00')
      AND window_start <  toDateTime('2026-09-19 05:00:00')
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (toDate('2026-09-11'), toDate('2026-09-18'))
)
WHERE minute_of_day >= 570
  AND minute_of_day <  960
GROUP BY et_time
ORDER BY et_time
Run this yourself

The closing hour on the quarterly expiration Friday carried 10.9 million QQQ shares, against 4.7 million in the same hour a week earlier. The opening hour printed 4.5 million and 3.9 million. Both ends of the expiration session run heavy, and only the first of them matters to a monthly NDX holder. For the ETF side of the clock, see what time options stop trading.

Weekly NDXP and the end-of-month series

QQQ also lists far more expiration dates than the index does, which is the other half of the confusion.

QueryListed QQQ option expirations by weekday, trailing 90 days of traded contracts
weekday_labellisted_expirationsexpirations_within_60d
Friday2919
Wednesday1715
Thursday1614
Tuesday1515
Monday1413
The exact SQL behind every number
SELECT
    formatDateTime(expiration_date, '%W')                          AS weekday_label,
    countDistinct(expiration_date)                                 AS listed_expirations,
    countDistinctIf(expiration_date, days_to_expiry <= 60)         AS expirations_within_60d
FROM global_markets.options_greeks
WHERE underlying_symbol = 'QQQ'
  AND date >= today() - 90
  AND volume > 0
  AND iv_converged = 1
GROUP BY weekday_label
ORDER BY listed_expirations DESC
Run this yourself

Over the trailing quarter, traded QQQ contracts carried listed expirations on 5 different weekdays. Friday holds the most at 29 distinct dates, 19 of them inside 60 days. The index series is narrower. Monthly third Fridays and the end-of-month contract anchor it, with weekly NDXP series listed for Wednesdays and Fridays in between.

The end-of-month contract expires on the final trading day of the calendar month, whatever weekday that is, and it is PM-settled with trading through the close. Its expiration date coincides with the monthly third Friday only in a month where the third Friday happens to be the last session, which is rare. European-style exercise applies across all of these series, covered in American vs European options.

FAQ

When do NDX options expire each month?

The monthly NDX contract expires on the third Friday. Its last trading session is the Thursday before, and settlement is in cash against Friday's opening prints. When that Friday falls on an exchange holiday, both dates shift one day earlier.

Can NDX options be exercised early?

No. NDX is European style, so exercise happens only at expiration, and the payoff arrives as cash rather than shares. A short NDX position cannot be assigned mid-life, which is the opposite of a short QQQ option.

What is the last trading day for NDX monthly options?

The Thursday before the third Friday. The contract still exists on Friday morning, when its cash settlement value is struck from the opening prints, and no one can trade it that day.

Are NDX and NDXP the same contract?

They are options on the same index with different settlement timing. NDX monthlies are AM-settled off the opening prints, with a Thursday last trade. NDXP weeklies are PM-settled and trade until 4:00 p.m. ET on their expiration day.

Do QQQ and NDX options expire at the same time?

They share third-Friday monthly dates, and the clock differs. QQQ options trade until 4:00 p.m. ET on expiration Friday and deliver fund shares on exercise. The monthly NDX contract stopped trading the previous afternoon and pays cash against the Friday open.

Data notes
  • The expiration ladder computes the third Friday from the calendar, then matches each date against the exchange holiday schedule. That schedule is forward-looking and loads about a year out, so a date further ahead reads as a full session until its holiday enters the window.
  • QQQ stands in for the index members' tape in two panels. The fund holds the same 100 names, and its minute volume is a readable proxy for opening and closing activity around an index expiration. It is not the settlement calculation itself.
  • The two Friday panels are pinned to fixed past dates, so those numbers stay put when the page refreshes.
  • Minute data carries a short ingest lag at the front edge, which is why the trailing panels stop a day or two before today.

Every panel here ships with the exact SQL beneath it, so the expiration ladder and the hour-by-hour tape can both be checked line by line. To look up a single expiration date, or to walk an expiration session minute by minute, ask the question in plain English on the Strasmore terminal.