STRASMORE/EXPLORE 2,882 QUERIES

iv_recent

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-01, from zm-implied-volatility.

as of series 82×4read in context →
iv_recent — 82 rows by 4 columns, computed from US exchange, SIP and OPRA data.
session_datesession_labelatm_iv_pctiv_percentile
2026-06-03Jun 3, 202649.249
2026-06-04Jun 4, 202646.744
2026-06-05Jun 5, 202644.540
2026-06-08Jun 8, 20264643
2026-06-09Jun 9, 202646.543
2026-06-10Jun 10, 20264643
2026-06-11Jun 11, 202645.742
2026-06-12Jun 12, 202644.941
2026-06-15Jun 15, 202644.540
2026-06-16Jun 16, 202642.636
2026-06-17Jun 17, 202641.233
2026-06-18Jun 18, 202642.435
2026-06-22Jun 22, 202644.840
2026-06-23Jun 23, 202642.836
2026-06-24Jun 24, 20264337
2026-06-25Jun 25, 202643.438
2026-06-26Jun 26, 202640.933
2026-06-29Jun 29, 202644.640
2026-06-30Jun 30, 202640.131
2026-07-01Jul 1, 202643.137
2026-07-02Jul 2, 202643.538
2026-07-06Jul 6, 202643.238
2026-07-07Jul 7, 202647.846
2026-07-08Jul 8, 20264541
2026-07-09Jul 9, 202643.438
2026-07-10Jul 10, 202645.742
2026-07-13Jul 13, 202648.948
2026-07-14Jul 14, 202647.345
2026-07-15Jul 15, 202646.644
2026-07-16Jul 16, 202647.846
2026-07-17Jul 17, 20264643
2026-07-20Jul 20, 202649.148
2026-07-21Jul 21, 202648.848
2026-07-22Jul 22, 202647.245
2026-07-23Jul 23, 202649.249
2026-07-24Jul 24, 202646.143
2026-07-27Jul 27, 202651.453
2026-07-28Jul 28, 202652.956
2026-07-29Jul 29, 202651.954
2026-07-30Jul 30, 202650.151
2026-07-31Jul 31, 202650.852
2026-08-03Aug 3, 20265765
2026-08-04Aug 4, 202657.566
2026-08-05Aug 5, 202656.964
2026-08-06Aug 6, 202655.162
2026-08-07Aug 7, 202656.764
2026-08-10Aug 10, 202653.858
2026-08-11Aug 11, 202651.553
2026-08-12Aug 12, 202649.349
2026-08-13Aug 13, 202649.249
2026-08-14Aug 14, 202654.861
2026-08-17Aug 17, 202653.658
2026-08-18Aug 18, 202656.464
2026-08-19Aug 19, 202653.557
2026-08-20Aug 20, 202653.758
2026-08-21Aug 21, 202654.460
2026-08-24Aug 24, 202654.460
2026-08-25Aug 25, 202652.455
2026-08-26Aug 26, 202640.331
2026-08-27Aug 27, 202638.727
2026-08-28Aug 28, 202640.331
2026-08-31Aug 31, 202638.326
2026-09-01Sep 1, 202639.529
2026-09-02Sep 2, 202637.925
2026-09-03Sep 3, 202639.830
2026-09-04Sep 4, 202643.137
2026-09-08Sep 8, 202643.238
2026-09-09Sep 9, 202644.840
2026-09-10Sep 10, 202641.333
2026-09-11Sep 11, 202640.231
2026-09-14Sep 14, 202640.632
2026-09-15Sep 15, 202639.630
2026-09-16Sep 16, 202640.632
2026-09-17Sep 17, 202638.326
2026-09-18Sep 18, 202635.721
2026-09-21Sep 21, 202638.827
2026-09-22Sep 22, 202639.930
2026-09-23Sep 23, 202639.730
2026-09-24Sep 24, 20263928
2026-09-25Sep 25, 202639.630
2026-09-28Sep 28, 202638.526
2026-09-29Sep 29, 202640.231
Rows × columns
82 × 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 iv_recent, derived from the stored result.
ColumnTypeRangeNotes
session_date date 2026-06-03 to 2026-09-29
session_label text 82 distinct values (Aug 10, 2026, Aug 11, 2026, Aug 12, 2026…)
atm_iv_pct number 35.7 to 57.5 percent
iv_percentile number 21 to 66 ratio or rate

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 atm_daily AS
(
    SELECT
        date,
        round(100 * avg(toFloat64(implied_volatility)), 1) AS iv_pct
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'ZM'
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry BETWEEN 20 AND 45
      AND toFloat64(underlying_close) > 0
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
    GROUP BY date
)
SELECT
    toString(date)                    AS session_date,
    formatDateTime(date, '%b %e, %Y') AS session_label,
    iv_pct                            AS atm_iv_pct,
    iv_percentile
FROM
(
    SELECT
        date,
        iv_pct,
        toUInt8(round(100 * count() OVER (ORDER BY iv_pct) / count() OVER ())) AS iv_percentile
    FROM atm_daily
)
WHERE date >= today() - 120
ORDER BY date
⌘/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 analysiszm-implied-volatility
iv_by_year table 8×5 → earnings_crush table 8×5 → term_structure ranking 5×4 → 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,882 queries →