{"slug":"what-is-a-calendar-spread","qid":"inversion_frequency","label":"How often front volatility sat above back volatility","post_title":"What Is a Calendar Spread in Options?","post_url":"/blog/what-is-a-calendar-spread#q-inversion_frequency","columns":["symbol","inverted_days_pct","avg_slope_pts","obs_count"],"rows":[{"symbol":"KO","inverted_days_pct":62,"avg_slope_pts":0.72,"obs_count":274},{"symbol":"AAPL","inverted_days_pct":40.1,"avg_slope_pts":0.47,"obs_count":274},{"symbol":"MSFT","inverted_days_pct":28.8,"avg_slope_pts":0.22,"obs_count":274},{"symbol":"NVDA","inverted_days_pct":27,"avg_slope_pts":-1.44,"obs_count":274},{"symbol":"SPY","inverted_days_pct":22.3,"avg_slope_pts":-0.8,"obs_count":274}],"shape":"ranking","sql":"SELECT\n    symbol,\n    round(100 * countIf(slope_pts > 0) / count(), 1) AS inverted_days_pct,\n    round(avg(slope_pts), 2)                         AS avg_slope_pts,\n    count()                                          AS obs_count\nFROM\n(\n    SELECT\n        underlying_symbol AS symbol,\n        date,\n        (avgIf(implied_volatility, days_to_expiry BETWEEN 7 AND 25)\n       - avgIf(implied_volatility, days_to_expiry BETWEEN 60 AND 120)) * 100 AS slope_pts\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')\n      AND date >= today() - 400\n      AND date <= today() - 2\n      AND iv_converged = 1\n      AND volume > 0\n      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05\n    GROUP BY symbol, date\n    HAVING countIf(days_to_expiry BETWEEN 7 AND 25) > 0\n       AND countIf(days_to_expiry BETWEEN 60 AND 120) > 0\n)\nGROUP BY symbol\nORDER BY inverted_days_pct DESC","computed_at":"2026-08-22T04:33:04.999308+00:00","elapsed":3.050265066}