{"slug":"which-stocks-have-weekly-options","qid":"weekly_share","label":"weekly_share","post_title":"which-stocks-have-weekly-options","post_url":"/blog/which-stocks-have-weekly-options#q-weekly_share","columns":["bucket","underlyings"],"rows":[{"bucket":"A. All underlyings with a traded contract","underlyings":5475},{"bucket":"B. Third Friday only (monthly)","underlyings":4784},{"bucket":"C. Weekly or quarterly, not every weekday","underlyings":685},{"bucket":"D. Weekly, every weekday Mon to Fri","underlyings":6}],"shape":"ranking","sql":"SELECT\n    bucket,\n    count()                                                          AS underlyings\nFROM\n(\n    SELECT\n        underlying_symbol,\n        arrayJoin([\n            'A. All underlyings with a traded contract',\n            multiIf(non_monthly_dates = 0, 'B. Third Friday only (monthly)',\n                    weekdays_used >= 5,    'D. Weekly, every weekday Mon to Fri',\n                                           'C. Weekly or quarterly, not every weekday')\n        ])                                                           AS bucket\n    FROM\n    (\n        SELECT\n            underlying_symbol,\n            uniqExactIf(expiration_date,\n                NOT (toDayOfWeek(expiration_date) = 5\n                     AND toDayOfMonth(expiration_date) BETWEEN 15 AND 21)) AS non_monthly_dates,\n            uniqExact(toDayOfWeek(expiration_date))                        AS weekdays_used\n        FROM global_markets.options_greeks\n        WHERE date >= today() - 35\n          AND date < today()\n          AND expiration_date < today() + 60\n          AND toDayOfWeek(expiration_date) <= 5\n          AND volume > 0\n          AND underlying_symbol NOT IN ('SPCX')\n        GROUP BY underlying_symbol\n    )\n)\nGROUP BY bucket\nORDER BY bucket","computed_at":"2026-09-11T14:45:44.633621+00:00","elapsed":1.247499089}