{"slug":"historical-volatility-vs-implied-volatility","qid":"hv_history","label":"AAPL realized volatility: 20-session against 60-session lookback","post_title":"Historical Volatility vs Implied Volatility","post_url":"/blog/historical-volatility-vs-implied-volatility#q-hv_history","columns":["date","hv_20d_pct","hv_60d_pct"],"rows":[{"date":"2025-10-13","hv_20d_pct":25.6,"hv_60d_pct":25.9},{"date":"2025-10-16","hv_20d_pct":25.7,"hv_60d_pct":25.9},{"date":"2025-10-21","hv_20d_pct":23.2,"hv_60d_pct":27.2},{"date":"2025-10-24","hv_20d_pct":23.3,"hv_60d_pct":27.1},{"date":"2025-10-29","hv_20d_pct":24.4,"hv_60d_pct":26.6},{"date":"2025-11-03","hv_20d_pct":24.5,"hv_60d_pct":23},{"date":"2025-11-06","hv_20d_pct":23.5,"hv_60d_pct":22.7},{"date":"2025-11-11","hv_20d_pct":19.8,"hv_60d_pct":23},{"date":"2025-11-14","hv_20d_pct":19.3,"hv_60d_pct":22.5},{"date":"2025-11-19","hv_20d_pct":14.6,"hv_60d_pct":22.8},{"date":"2025-11-24","hv_20d_pct":14.9,"hv_60d_pct":23.3},{"date":"2025-11-28","hv_20d_pct":14.9,"hv_60d_pct":22},{"date":"2025-12-03","hv_20d_pct":16,"hv_60d_pct":21.9},{"date":"2025-12-08","hv_20d_pct":17,"hv_60d_pct":20.6},{"date":"2025-12-11","hv_20d_pct":15.3,"hv_60d_pct":20.6},{"date":"2025-12-16","hv_20d_pct":14.7,"hv_60d_pct":18.1},{"date":"2025-12-19","hv_20d_pct":14.8,"hv_60d_pct":17.8},{"date":"2025-12-24","hv_20d_pct":12.6,"hv_60d_pct":17.9},{"date":"2025-12-30","hv_20d_pct":10.8,"hv_60d_pct":17.8},{"date":"2026-01-05","hv_20d_pct":9.9,"hv_60d_pct":18.1},{"date":"2026-01-08","hv_20d_pct":11.5,"hv_60d_pct":16.6},{"date":"2026-01-13","hv_20d_pct":11.5,"hv_60d_pct":16.5},{"date":"2026-01-16","hv_20d_pct":10.6,"hv_60d_pct":14.2},{"date":"2026-01-22","hv_20d_pct":15.4,"hv_60d_pct":15.3},{"date":"2026-01-27","hv_20d_pct":19.7,"hv_60d_pct":16},{"date":"2026-01-30","hv_20d_pct":20.2,"hv_60d_pct":16.1},{"date":"2026-02-04","hv_20d_pct":25.1,"hv_60d_pct":18.8},{"date":"2026-02-09","hv_20d_pct":25.4,"hv_60d_pct":18.5},{"date":"2026-02-12","hv_20d_pct":31.9,"hv_60d_pct":21.3},{"date":"2026-02-18","hv_20d_pct":31.7,"hv_60d_pct":22.5},{"date":"2026-02-23","hv_20d_pct":32.6,"hv_60d_pct":22.2},{"date":"2026-02-26","hv_20d_pct":31.7,"hv_60d_pct":22.7},{"date":"2026-03-03","hv_20d_pct":30.9,"hv_60d_pct":23.3},{"date":"2026-03-06","hv_20d_pct":29.4,"hv_60d_pct":23.3},{"date":"2026-03-11","hv_20d_pct":29.4,"hv_60d_pct":23.4},{"date":"2026-03-16","hv_20d_pct":24.2,"hv_60d_pct":24},{"date":"2026-03-19","hv_20d_pct":21.4,"hv_60d_pct":24.2},{"date":"2026-03-24","hv_20d_pct":19,"hv_60d_pct":24.2},{"date":"2026-03-27","hv_20d_pct":16.2,"hv_60d_pct":24.5},{"date":"2026-04-01","hv_20d_pct":20,"hv_60d_pct":25.2},{"date":"2026-04-07","hv_20d_pct":21,"hv_60d_pct":25.3},{"date":"2026-04-10","hv_20d_pct":21.3,"hv_60d_pct":25.7},{"date":"2026-04-15","hv_20d_pct":21.7,"hv_60d_pct":26.2},{"date":"2026-04-20","hv_20d_pct":22.4,"hv_60d_pct":25.9},{"date":"2026-04-23","hv_20d_pct":25.8,"hv_60d_pct":26.2},{"date":"2026-04-28","hv_20d_pct":25.6,"hv_60d_pct":26.4},{"date":"2026-05-01","hv_20d_pct":26.1,"hv_60d_pct":25.5},{"date":"2026-05-06","hv_20d_pct":25.6,"hv_60d_pct":26},{"date":"2026-05-11","hv_20d_pct":26,"hv_60d_pct":24},{"date":"2026-05-14","hv_20d_pct":24,"hv_60d_pct":22.8},{"date":"2026-05-19","hv_20d_pct":20.5,"hv_60d_pct":22.5},{"date":"2026-05-22","hv_20d_pct":18.5,"hv_60d_pct":22.2},{"date":"2026-05-28","hv_20d_pct":17,"hv_60d_pct":21},{"date":"2026-06-02","hv_20d_pct":17.8,"hv_60d_pct":21.8},{"date":"2026-06-05","hv_20d_pct":18.6,"hv_60d_pct":22.3},{"date":"2026-06-10","hv_20d_pct":23.3,"hv_60d_pct":23.1},{"date":"2026-06-15","hv_20d_pct":24.7,"hv_60d_pct":23.4},{"date":"2026-06-18","hv_20d_pct":24.9,"hv_60d_pct":23.4},{"date":"2026-06-24","hv_20d_pct":24.2,"hv_60d_pct":23.3},{"date":"2026-06-29","hv_20d_pct":34.4,"hv_60d_pct":27},{"date":"2026-07-02","hv_20d_pct":38.7,"hv_60d_pct":28.7},{"date":"2026-07-08","hv_20d_pct":38.1,"hv_60d_pct":28.6},{"date":"2026-07-13","hv_20d_pct":35.2,"hv_60d_pct":28.1},{"date":"2026-07-16","hv_20d_pct":36.9,"hv_60d_pct":28.7},{"date":"2026-07-21","hv_20d_pct":37.6,"hv_60d_pct":28.2},{"date":"2026-07-24","hv_20d_pct":29.7,"hv_60d_pct":28.8},{"date":"2026-07-29","hv_20d_pct":27.7,"hv_60d_pct":28.3},{"date":"2026-08-03","hv_20d_pct":37.5,"hv_60d_pct":32.5},{"date":"2026-08-06","hv_20d_pct":38,"hv_60d_pct":32.5},{"date":"2026-08-11","hv_20d_pct":38.4,"hv_60d_pct":32.6},{"date":"2026-08-14","hv_20d_pct":34.8,"hv_60d_pct":32.7},{"date":"2026-08-19","hv_20d_pct":35.7,"hv_60d_pct":32.9}],"shape":"series","sql":"WITH\n    daily AS\n    (\n        SELECT\n            date             AS session_date,\n            toFloat64(close) AS close_px,\n            lagInFrame(toFloat64(close)) OVER\n                (ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close\n        FROM global_markets.stocks_daily_aggs\n        WHERE ticker = 'AAPL'\n          AND date >= today() - 400\n          AND date <  today()\n    ),\n    returns AS\n    (\n        SELECT\n            session_date,\n            log(close_px / prev_close)                AS r,\n            row_number() OVER (ORDER BY session_date) AS n\n        FROM daily\n        WHERE prev_close > 0\n    ),\n    rolling AS\n    (\n        SELECT\n            session_date,\n            n,\n            round(100 * sqrt(252) * stddevSamp(r) OVER\n                (ORDER BY n ROWS BETWEEN 19 PRECEDING AND CURRENT ROW), 1) AS hv_20d_pct,\n            round(100 * sqrt(252) * stddevSamp(r) OVER\n                (ORDER BY n ROWS BETWEEN 59 PRECEDING AND CURRENT ROW), 1) AS hv_60d_pct\n        FROM returns\n    )\nSELECT\n    toString(session_date) AS date,\n    hv_20d_pct,\n    hv_60d_pct\nFROM rolling\nWHERE n >= 60\n  AND (n % 3) = 0\nORDER BY date","computed_at":"2026-08-22T04:08:17.116913+00:00","elapsed":0.017573899}