STRASMORE/EXPLORE 2,830 QUERIES

move_vs_iv

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-09-30, from how-to-adjust-an-iron-condor.

as of series 12×4read in context →
move_vs_iv — 12 rows by 4 columns, computed from US exchange, SIP and OPRA data.
monthmonth_labelimplied_daily_move_pctrealised_daily_move_pct
2025-09-01Sep 20250.840.31
2025-10-01Oct 20250.990.51
2025-11-01Nov 20251.050.69
2025-12-01Dec 20250.850.38
2026-01-01Jan 20260.880.33
2026-02-01Feb 20261.030.67
2026-03-01Mar 20261.320.73
2026-04-01Apr 20261.080.47
2026-05-01May 20260.970.34
2026-06-01Jun 20260.990.62
2026-07-01Jul 20260.930.37
2026-08-01Aug 20260.840.36
Rows × columns
12 × 4
Period covered
to
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 move_vs_iv, derived from the stored result.
ColumnTypeRangeNotes
month date 2025-09-01 to 2026-08-01
month_label text 12 distinct values (Apr 2026, Aug 2026, Dec 2025…)
implied_daily_move_pct number 0.84 to 1.32 percent
realised_daily_move_pct number 0.31 to 0.73 percent

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.

WITH
    iv AS
    (
        SELECT
            toStartOfMonth(date)                                AS m,
            round(avg(implied_volatility) / sqrt(252) * 100, 2) AS implied_daily_move_pct
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          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 >= '2025-09-01'
          AND date <  '2026-09-01'
        GROUP BY m
    ),
    realised AS
    (
        SELECT
            toStartOfMonth(date)                                             AS m,
            round(avg(abs(toFloat64(close) / toFloat64(open) - 1)) * 100, 2)  AS realised_daily_move_pct
        FROM global_markets.stocks_daily_aggs
        WHERE ticker = 'SPY'
          AND date >= '2025-09-01'
          AND date <  '2026-09-01'
        GROUP BY m
    )
SELECT
    toString(iv.m)                       AS month,
    formatDateTime(iv.m, '%b %Y')        AS month_label,
    iv.implied_daily_move_pct            AS implied_daily_move_pct,
    realised.realised_daily_move_pct     AS realised_daily_move_pct
FROM iv
INNER JOIN realised ON realised.m = iv.m
ORDER BY month
⌘/Ctrl + Enter

Work with this data in your AI assistant

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