{"slug":"what-is-market-volatility","qid":"rv_ladder","label":"rv_ladder","post_title":"what-is-market-volatility","post_url":"/blog/lang/tl/what-is-market-volatility#q-rv_ladder","columns":["ticker","rv_30d_pct","rv_252d_pct"],"rows":[{"ticker":"NVDA","rv_30d_pct":38.8,"rv_252d_pct":37.6},{"ticker":"AAPL","rv_30d_pct":20.5,"rv_252d_pct":24.6},{"ticker":"KO","rv_30d_pct":15.2,"rv_252d_pct":18.8},{"ticker":"SPY","rv_30d_pct":9.8,"rv_252d_pct":13}],"shape":"ranking","sql":"WITH bars AS\n(\n    SELECT\n        ticker,\n        date,\n        any(toFloat64(close)) AS c\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker IN ('SPY', 'AAPL', 'NVDA', 'KO')\n      AND date >= today() - 430\n      AND date <  today()\n    GROUP BY ticker, date\n),\nrets AS\n(\n    SELECT\n        ticker,\n        date,\n        log(c / lagInFrame(c) OVER (PARTITION BY ticker ORDER BY date)) AS r\n    FROM bars\n),\nranked AS\n(\n    SELECT\n        ticker,\n        r,\n        row_number() OVER (PARTITION BY ticker ORDER BY date DESC) AS sessions_back\n    FROM rets\n    WHERE isFinite(r)\n)\nSELECT\n    ticker,\n    round(stddevSampIf(r, sessions_back <= 30)  * sqrt(252) * 100, 1) AS rv_30d_pct,\n    round(stddevSampIf(r, sessions_back <= 252) * sqrt(252) * 100, 1) AS rv_252d_pct\nFROM ranked\nGROUP BY ticker\nHAVING countIf(sessions_back <= 30)  >= 20\n   AND countIf(sessions_back <= 252) >= 200\nORDER BY rv_252d_pct DESC","computed_at":"2026-09-28T15:34:23.976576+00:00","elapsed":11.152637351}