{"slug":"option-expiration-cycles-explained","qid":"monthly_ladder","label":"Third Friday expirations over the next fourteen months, by underlyings listing them","post_title":"Option Expiration Cycles Explained","post_url":"/blog/option-expiration-cycles-explained#q-monthly_ladder","columns":["expiry_month_start","month_label","underlyings_listing"],"rows":[{"expiry_month_start":"2026-08-01","month_label":"Aug 2026","underlyings_listing":3735},{"expiry_month_start":"2026-09-01","month_label":"Sep 2026","underlyings_listing":3689},{"expiry_month_start":"2026-10-01","month_label":"Oct 2026","underlyings_listing":1564},{"expiry_month_start":"2026-11-01","month_label":"Nov 2026","underlyings_listing":1392},{"expiry_month_start":"2026-12-01","month_label":"Dec 2026","underlyings_listing":1960},{"expiry_month_start":"2027-01-01","month_label":"Jan 2027","underlyings_listing":2245},{"expiry_month_start":"2027-02-01","month_label":"Feb 2027","underlyings_listing":913},{"expiry_month_start":"2027-03-01","month_label":"Mar 2027","underlyings_listing":1462},{"expiry_month_start":"2027-04-01","month_label":"Apr 2027","underlyings_listing":50},{"expiry_month_start":"2027-05-01","month_label":"May 2027","underlyings_listing":72},{"expiry_month_start":"2027-07-01","month_label":"Jul 2027","underlyings_listing":26},{"expiry_month_start":"2027-08-01","month_label":"Aug 2027","underlyings_listing":42},{"expiry_month_start":"2027-09-01","month_label":"Sep 2027","underlyings_listing":318},{"expiry_month_start":"2027-10-01","month_label":"Oct 2027","underlyings_listing":11}],"shape":"ranking","sql":"WITH\n(\n    SELECT max(date)\n    FROM global_markets.options_greeks\n    WHERE date >= today() - 10\n) AS chain_date\nSELECT\n    toString(toStartOfMonth(expiration_date))                AS expiry_month_start,\n    formatDateTime(toStartOfMonth(expiration_date), '%b %Y') AS month_label,\n    countDistinct(underlying_symbol)                         AS underlyings_listing\nFROM global_markets.options_greeks\nWHERE date = chain_date\n  AND expiration_date >= chain_date\n  AND days_to_expiry <= 430\n  AND toDayOfWeek(expiration_date) = 5\n  AND toDayOfMonth(expiration_date) BETWEEN 15 AND 21\n  AND underlying_symbol NOT IN ('SPCX')\nGROUP BY toStartOfMonth(expiration_date)\nORDER BY toStartOfMonth(expiration_date)","computed_at":"2026-08-26T04:00:19.594982+00:00","elapsed":0.098381212}