{"slug":"what-is-the-gamma-flip","qid":"flip_by_dte","label":"flip_by_dte","post_title":"what-is-the-gamma-flip","post_url":"/blog/what-is-the-gamma-flip#q-flip_by_dte","columns":["dte_bucket","spot_close","flip_estimate"],"rows":[{"dte_bucket":"0 to 1 days","spot_close":746.3,"flip_estimate":745},{"dte_bucket":"2 to 7 days","spot_close":746.3,"flip_estimate":744},{"dte_bucket":"8 to 30 days","spot_close":746.3,"flip_estimate":746},{"dte_bucket":"31 to 90 days","spot_close":746.3,"flip_estimate":745}],"shape":"ranking","sql":"SELECT\n    dte_bucket,\n    round(any(spot), 2)               AS spot_close,\n    round(argMax(strike, running), 2) AS flip_estimate\nFROM\n(\n    SELECT\n        dte_bucket,\n        bucket_order,\n        spot,\n        strike,\n        sum(net_gamma) OVER (PARTITION BY dte_bucket ORDER BY strike) AS running\n    FROM\n    (\n        SELECT\n            multiIf(days_to_expiry <= 1,  '0 to 1 days',\n                    days_to_expiry <= 7,  '2 to 7 days',\n                    days_to_expiry <= 30, '8 to 30 days',\n                                          '31 to 90 days')  AS dte_bucket,\n            multiIf(days_to_expiry <= 1, 1,\n                    days_to_expiry <= 7, 2,\n                    days_to_expiry <= 30, 3, 4)             AS bucket_order,\n            toFloat64(strike_price)                         AS strike,\n            any(toFloat64(underlying_close))                AS spot,\n            sum(multiIf(lower(substring(option_type, 1, 1)) = 'c', -1.0, 1.0)\n                * toFloat64(gamma) * volume * 100)          AS net_gamma\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'SPY'\n          AND date = (\n                SELECT max(date)\n                FROM global_markets.options_greeks\n                WHERE underlying_symbol = 'SPY'\n                  AND date <= '2026-06-30'\n              )\n          AND iv_converged = 1\n          AND volume > 0\n          AND days_to_expiry <= 90\n          AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.15\n        GROUP BY dte_bucket, bucket_order, strike\n    )\n)\nGROUP BY dte_bucket, bucket_order\nORDER BY bucket_order","computed_at":"2026-09-23T14:41:23.609446+00:00","elapsed":0.004511127}