{"slug":"what-is-the-skew-stickiness-ratio","qid":"pente_par_annee","label":"pente_par_annee","post_title":"what-is-the-skew-stickiness-ratio","post_url":"/blog/lang/fr/what-is-the-skew-stickiness-ratio#q-pente_par_annee","columns":["year","session_count","pente_vol_pts","pente_fr","correlation"],"rows":[{"year":"2021","session_count":84,"pente_vol_pts":-1.81,"pente_fr":"1,81","correlation":-0.9},{"year":"2022","session_count":251,"pente_vol_pts":-0.86,"pente_fr":"0,86","correlation":-0.82},{"year":"2023","session_count":250,"pente_vol_pts":-0.83,"pente_fr":"0,83","correlation":-0.75},{"year":"2024","session_count":252,"pente_vol_pts":-1.04,"pente_fr":"1,04","correlation":-0.8},{"year":"2025","session_count":250,"pente_vol_pts":-1.4,"pente_fr":"1,4","correlation":-0.9},{"year":"2026","session_count":166,"pente_vol_pts":-1.2,"pente_fr":"1,2","correlation":-0.81}],"shape":"table","sql":"WITH iv_atm AS (\n    SELECT\n        date,\n        avg(toFloat64(implied_volatility)) * 100 AS iv_pct\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'SPY'\n      AND date >= '2021-09-01'\n      AND date <  '2026-09-01'\n      AND iv_converged = 1\n      AND volume > 0\n      AND days_to_expiry BETWEEN 20 AND 45\n      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02\n    GROUP BY date\n),\nspot AS (\n    SELECT\n        date,\n        toFloat64(close) AS px\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker = 'SPY'\n      AND date >= '2021-09-01'\n      AND date <  '2026-09-01'\n),\napparie AS (\n    SELECT\n        i.date   AS d,\n        i.iv_pct AS iv,\n        s.px     AS px,\n        any(i.iv_pct) OVER (ORDER BY i.date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS iv_prec,\n        any(s.px)     OVER (ORDER BY i.date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS px_prec\n    FROM iv_atm AS i\n    INNER JOIN spot AS s ON s.date = i.date\n),\nvariations AS (\n    SELECT\n        toYear(d)                AS y,\n        (px / px_prec - 1) * 100 AS rendement_pct,\n        iv - iv_prec             AS iv_variation_pct\n    FROM apparie\n    WHERE px_prec > 0\n)\nSELECT\n    toString(y)                                                     AS year,\n    count()                                                         AS session_count,\n    round(covarPop(rendement_pct, iv_variation_pct)\n          / varPop(rendement_pct), 2)                               AS pente_vol_pts,\n    replace(toString(round(abs(covarPop(rendement_pct, iv_variation_pct)\n          / varPop(rendement_pct)), 2)), '.', ',')                   AS pente_fr,\n    round(corr(rendement_pct, iv_variation_pct), 2)                 AS correlation\nFROM variations\nGROUP BY y\nHAVING count() > 20\nORDER BY y","computed_at":"2026-09-26T15:28:03.417031+00:00","elapsed":0.132617702}