{"slug":"are-0dte-options-high-risk","qid":"expiry_day","label":"expiry_day","post_title":"are-0dte-options-high-risk","post_url":"/blog/are-0dte-options-high-risk#q-expiry_day","columns":["expiry_date","expiry_label","premium_prior_close","value_at_expiry","pct_of_premium_left","spy_move_pct"],"rows":[{"expiry_date":"2026-06-01","expiry_label":"Mon Jun 1","premium_prior_close":2.5,"value_at_expiry":0.58,"pct_of_premium_left":23,"spy_move_pct":0.12},{"expiry_date":"2026-06-02","expiry_label":"Tue Jun 2","premium_prior_close":2.71,"value_at_expiry":2.63,"pct_of_premium_left":97,"spy_move_pct":0.4},{"expiry_date":"2026-06-03","expiry_label":"Wed Jun 3","premium_prior_close":1.62,"value_at_expiry":0,"pct_of_premium_left":0,"spy_move_pct":-1.2},{"expiry_date":"2026-06-04","expiry_label":"Thu Jun 4","premium_prior_close":3.99,"value_at_expiry":3.56,"pct_of_premium_left":89,"spy_move_pct":0.53},{"expiry_date":"2026-06-05","expiry_label":"Fri Jun 5","premium_prior_close":2.98,"value_at_expiry":0,"pct_of_premium_left":0,"spy_move_pct":-2.54},{"expiry_date":"2026-06-08","expiry_label":"Mon Jun 8","premium_prior_close":3.95,"value_at_expiry":3.72,"pct_of_premium_left":94,"spy_move_pct":0.46},{"expiry_date":"2026-06-09","expiry_label":"Tue Jun 9","premium_prior_close":2.75,"value_at_expiry":0,"pct_of_premium_left":0,"spy_move_pct":-0.41},{"expiry_date":"2026-06-10","expiry_label":"Wed Jun 10","premium_prior_close":3.61,"value_at_expiry":0,"pct_of_premium_left":0,"spy_move_pct":-1.74},{"expiry_date":"2026-06-11","expiry_label":"Thu Jun 11","premium_prior_close":5.44,"value_at_expiry":16.48,"pct_of_premium_left":303,"spy_move_pct":2.3},{"expiry_date":"2026-06-12","expiry_label":"Fri Jun 12","premium_prior_close":3.5,"value_at_expiry":3.45,"pct_of_premium_left":99,"spy_move_pct":0.4},{"expiry_date":"2026-06-15","expiry_label":"Mon Jun 15","premium_prior_close":3.48,"value_at_expiry":11.91,"pct_of_premium_left":342,"spy_move_pct":1.54},{"expiry_date":"2026-06-16","expiry_label":"Tue Jun 16","premium_prior_close":2.22,"value_at_expiry":0,"pct_of_premium_left":0,"spy_move_pct":-0.42},{"expiry_date":"2026-06-17","expiry_label":"Wed Jun 17","premium_prior_close":2.23,"value_at_expiry":0,"pct_of_premium_left":0,"spy_move_pct":-0.69},{"expiry_date":"2026-06-18","expiry_label":"Thu Jun 18","premium_prior_close":0.89,"value_at_expiry":0.94,"pct_of_premium_left":106,"spy_move_pct":0.18},{"expiry_date":"2026-06-22","expiry_label":"Mon Jun 22","premium_prior_close":3.15,"value_at_expiry":0,"pct_of_premium_left":0,"spy_move_pct":-0.44},{"expiry_date":"2026-06-23","expiry_label":"Tue Jun 23","premium_prior_close":2.78,"value_at_expiry":0,"pct_of_premium_left":0,"spy_move_pct":-1.16},{"expiry_date":"2026-06-24","expiry_label":"Wed Jun 24","premium_prior_close":2.75,"value_at_expiry":2.2,"pct_of_premium_left":80,"spy_move_pct":0.3},{"expiry_date":"2026-06-25","expiry_label":"Thu Jun 25","premium_prior_close":2.68,"value_at_expiry":0,"pct_of_premium_left":0,"spy_move_pct":-0.61},{"expiry_date":"2026-06-26","expiry_label":"Fri Jun 26","premium_prior_close":3.61,"value_at_expiry":0,"pct_of_premium_left":0,"spy_move_pct":-0.2},{"expiry_date":"2026-06-29","expiry_label":"Mon Jun 29","premium_prior_close":3.86,"value_at_expiry":9.76,"pct_of_premium_left":253,"spy_move_pct":1.31},{"expiry_date":"2026-06-30","expiry_label":"Tue Jun 30","premium_prior_close":2.31,"value_at_expiry":5.3,"pct_of_premium_left":229,"spy_move_pct":0.75}],"shape":"series","sql":"WITH spy_by_day AS\n(\n    SELECT\n        toDate(date)                             AS d,\n        medianExact(toFloat64(underlying_close)) AS spot\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'SPY'\n      AND date >= toDate('2026-06-01')\n      AND date <  toDate('2026-07-01')\n      AND underlying_close > 0\n    GROUP BY d\n),\nlast_sessions AS\n(\n    SELECT\n        toDate(expiration_date) AS exp_date,\n        max(toDate(date))       AS prior_session\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'SPY'\n      AND expiration_date >= toDate('2026-06-01')\n      AND expiration_date <  toDate('2026-07-01')\n      AND date >= toDate('2026-05-22')\n      AND date <  expiration_date\n      AND volume > 0\n    GROUP BY exp_date\n),\natm AS\n(\n    SELECT\n        toDate(g.expiration_date)                                                                                AS exp_date,\n        argMin(toFloat64(g.strike_price), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))        AS strike,\n        argMin(toFloat64(g.option_close), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))        AS premium_before,\n        argMin(toFloat64(g.underlying_close), abs(toFloat64(g.strike_price) - toFloat64(g.underlying_close)))    AS spy_before\n    FROM global_markets.options_greeks AS g\n    INNER JOIN last_sessions AS ls\n        ON ls.exp_date = toDate(g.expiration_date) AND ls.prior_session = toDate(g.date)\n    WHERE g.underlying_symbol = 'SPY'\n      AND lower(toString(g.option_type)) IN ('call', 'c')\n      AND g.date >= toDate('2026-05-22')\n      AND g.date <  toDate('2026-07-01')\n      AND g.volume > 0\n      AND g.option_close > 0\n    GROUP BY exp_date\n)\nSELECT\n    toString(a.exp_date)                                                                   AS expiry_date,\n    concat(formatDateTime(a.exp_date, '%a %b '), toString(toDayOfMonth(a.exp_date)))       AS expiry_label,\n    round(a.premium_before, 2)                                                             AS premium_prior_close,\n    round(greatest(s.spot - a.strike, 0.0), 2)                                             AS value_at_expiry,\n    round(greatest(s.spot - a.strike, 0.0) / a.premium_before * 100, 0)                    AS pct_of_premium_left,\n    round((s.spot / a.spy_before - 1) * 100, 2)                                            AS spy_move_pct\nFROM atm AS a\nINNER JOIN spy_by_day AS s\n    ON s.d = a.exp_date\nORDER BY a.exp_date","computed_at":"2026-09-18T15:24:08.580037+00:00","elapsed":0.052834315}