{"slug":"are-0dte-options-high-risk","qid":"greeks_ladder","label":"greeks_ladder","post_title":"are-0dte-options-high-risk","post_url":"/blog/are-0dte-options-high-risk#q-greeks_ladder","columns":["dte_bucket","gamma_per_premium_dollar","theta_pct_per_day","gamma_ratio_vs_month_out","theta_ratio_vs_month_out"],"rows":[{"dte_bucket":"1 day (next session)","gamma_per_premium_dollar":0.0295,"theta_pct_per_day":51.8,"gamma_ratio_vs_month_out":31.8,"theta_ratio_vs_month_out":28.7},{"dte_bucket":"2-5 days","gamma_per_premium_dollar":0.0093,"theta_pct_per_day":17,"gamma_ratio_vs_month_out":10,"theta_ratio_vs_month_out":9.4},{"dte_bucket":"6-10 days","gamma_per_premium_dollar":0.0047,"theta_pct_per_day":6.9,"gamma_ratio_vs_month_out":5.1,"theta_ratio_vs_month_out":3.9},{"dte_bucket":"11-20 days","gamma_per_premium_dollar":0.0023,"theta_pct_per_day":3.9,"gamma_ratio_vs_month_out":2.5,"theta_ratio_vs_month_out":2.2},{"dte_bucket":"21-45 days","gamma_per_premium_dollar":0.0009,"theta_pct_per_day":1.8,"gamma_ratio_vs_month_out":1,"theta_ratio_vs_month_out":1}],"shape":"series","sql":"WITH atm_calls AS\n(\n    SELECT\n        days_to_expiry          AS dte,\n        toFloat64(option_close) AS premium,\n        toFloat64(gamma)        AS gma,\n        toFloat64(theta)        AS tht\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'SPY'\n      AND lower(toString(option_type)) IN ('call', 'c')\n      AND date >= toDate('2026-06-01')\n      AND date <  toDate('2026-07-01')\n      AND days_to_expiry > 0\n      AND days_to_expiry <= 45\n      AND iv_converged = 1\n      AND volume > 0\n      AND option_close > 0\n      AND toFloat64(delta) BETWEEN 0.2 AND 0.8\n      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.0025\n),\nladder AS\n(\n    SELECT\n        multiIf(dte <= 1,  '1 day (next session)',\n                dte <= 5,  '2-5 days',\n                dte <= 10, '6-10 days',\n                dte <= 20, '11-20 days',\n                           '21-45 days')       AS dte_bucket,\n        min(dte)                               AS dte_lo,\n        avg(gma / premium)                     AS gamma_raw,\n        avg(abs(tht) / premium) * 100          AS theta_raw\n    FROM atm_calls\n    GROUP BY dte_bucket\n)\nSELECT\n    dte_bucket,\n    round(gamma_raw, 4)                                                                   AS gamma_per_premium_dollar,\n    round(theta_raw, 1)                                                                   AS theta_pct_per_day,\n    round(gamma_raw / (SELECT gamma_raw FROM ladder WHERE dte_bucket = '21-45 days'), 1)  AS gamma_ratio_vs_month_out,\n    round(theta_raw / (SELECT theta_raw FROM ladder WHERE dte_bucket = '21-45 days'), 1)  AS theta_ratio_vs_month_out\nFROM ladder\nORDER BY dte_lo","computed_at":"2026-09-18T15:24:08.048914+00:00","elapsed":0.003833724}