STRASMORE/EXPLORE 2,358 QUERIES

iv_skew

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-18, from where-to-find-options-trade-data.

as of table 29×4read in context →
iv_skew — 29 rows by 4 columns, computed from US exchange, SIP and OPRA data.
strikeput_iv_pctcall_iv_pctcontracts_volume
5731815.6430
57418.214.9487
57517.71717465
57617.615.6940
57717.215.8378
57817.316.8868
57917.215.61696
58016.916.16640
58117.115.2574
58216.614.7450
58316.815.2909
58416.515.1475
58516.315.47892
58616.214.52163
5871614.42827
58815.8152069
58915.814.81670
59015.714.67707
59115.614.71059
59216.214.42371
59315.414.2480
59415.813.62473
59515.3142645
59616.114616
59716.213.9325
59815.513.8539
59915.713.3244
60015.113.610169
60515.513.28151
Rows × columns
29 × 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_skew, derived from the stored result.
ColumnTypeRangeNotes
strike text 29 distinct values (573, 574, 575…)
put_iv_pct number 15.1 to 18.2 percent
call_iv_pct number 13.2 to 17 percent
contracts_volume number 244 to 17,465 count

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.

the exact SQL behind every number
SELECT
    toString(toFloat64(strike_price))                                                    AS strike,
    round(maxIf(implied_volatility, lower(toString(option_type)) LIKE 'p%') * 100, 1)   AS put_iv_pct,
    round(maxIf(implied_volatility, lower(toString(option_type)) LIKE 'c%') * 100, 1)   AS call_iv_pct,
    sum(volume)                                                                          AS contracts_volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
  AND date = '2025-05-15'
  AND expiration_date = '2025-06-20'
  AND iv_converged = 1
  AND volume > 0
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.03
GROUP BY strike_price
HAVING countIf(lower(toString(option_type)) LIKE 'p%') > 0
   AND countIf(lower(toString(option_type)) LIKE 'c%') > 0
ORDER BY strike_price

Run your own version of this

The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.

More from this analysiswhere-to-find-options-trade-data
venue_share table 18×5 largest_prints table 10×7 session_clock series 14×5 The 2s10s spread, every print of the half table 124×2 The 2s10s spread, every print of the half table 124×2 Every half-year since 1976: the 2y and 10y change, the twist between them, and the half's lowest 2s10s print table 100×7 See all 2,358 queries →