STRASMORE/EXPLORE 2,948 QUERIES

iv_vs_rv

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-10-02, from why-would-anyone-sell-a-put-option.

as of series 32×4read in context →
iv_vs_rv — 32 rows by 4 columns, computed from US exchange, SIP and OPRA data.
monthimplied_vol_pctrealized_vol_pct_next_monthvol_spread
Jan 202423.512.311.1
Feb 202419.625.3-5.7
Mar 20242123.5-2.5
Apr 202427.124.32.9
May 202421.533.2-11.7
Jun 20242224.7-2.7
Jul 202426.723.13.6
Aug 202424.823.51.4
Sep 202424.2213.1
Oct 202426.315.111.2
Nov 202419.616.33.3
Dec 202418.430.6-12.2
Jan 202527.826.11.7
Feb 202523.230.9-7.7
Mar 202528.977.5-48.6
Apr 202541.8338.9
May 202530.318.312.1
Jun 202527.214.412.9
Jul 202529.928.71.2
Aug 202525.728.5-2.8
Sep 202523.722.80.9
Oct 202528.415.213.2
Nov 202523.311.911.5
Dec 202519.820.2-0.4
Jan 202627.935-7.2
Feb 20262518.96
Mar 202628.823.55.3
Apr 202630.117.212.9
May 202623.435.3-11.9
Jun 202624.339.3-15
Jul 202628.818.810
Aug 202624.822.52.4
Rows × columns
32 × 4
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for iv_vs_rv, derived from the stored result.
ColumnTypeRangeNotes
month text 32 distinct values (Apr 2024, Apr 2025, Apr 2026…)
implied_vol_pct number 18.4 to 41.8 percent
realized_vol_pct_next_month number 11.9 to 77.5 percent
vol_spread number -48.6 to 13.2

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

SELECT
    formatDateTime(i.m, '%b %Y')              AS month,
    round(i.implied_vol, 1)                   AS implied_vol_pct,
    round(r.realized_vol, 1)                  AS realized_vol_pct_next_month,
    round(i.implied_vol - r.realized_vol, 1)  AS vol_spread
FROM
(
    SELECT
        toStartOfMonth(date)                AS m,
        addMonths(toStartOfMonth(date), 1)  AS next_m,
        avg(implied_volatility) * 100       AS implied_vol
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'AAPL'
      AND delta < 0
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry BETWEEN 20 AND 45
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
      AND date BETWEEN '2024-01-01' AND '2026-08-31'
    GROUP BY m, next_m
) AS i
INNER JOIN
(
    SELECT
        toStartOfMonth(d)                                      AS m,
        stddevSamp(log(close_px / prev_px)) * sqrt(252) * 100   AS realized_vol
    FROM
    (
        SELECT
            date                                                               AS d,
            close_px,
            lagInFrame(close_px, 1) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_px
        FROM
        (
            SELECT
                date,
                max(toFloat64(close)) AS close_px
            FROM global_markets.stocks_daily_aggs
            WHERE ticker = 'AAPL'
              AND date BETWEEN '2023-12-01' AND '2026-09-26'
            GROUP BY date
        ) AS daily
    ) AS lagged
    WHERE prev_px > 0
    GROUP BY m
    HAVING count() >= 15
) AS r ON r.m = i.next_m
ORDER BY i.m
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysiswhy-would-anyone-sell-a-put-option
put_ladder table 9×9 → premium_across_names ranking 7×4 → cushion_outcomes table 4×6 → The 2s10s spread by month, full history series 604×5 → One SPY $600 LEAPS call's price over two years (expired Jan 16 2026) series 470×2 → The 5s30s spread month by month, with both legs series 241×4 → See all 2,948 queries →