skew_monthly
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-23, from gld-implied-volatility.
| month | month_label | gld_skew_pts | spy_skew_pts | gld_minus_spy_pts |
|---|---|---|---|---|
| 2021-09-01 | Sep 2021 | -0.94 | -9.17 | 8.23 |
| 2021-10-01 | Oct 2021 | -0.78 | -7.19 | 6.41 |
| 2021-11-01 | Nov 2021 | 0.12 | -7.82 | 7.94 |
| 2021-12-01 | Dec 2021 | -0.66 | -9.74 | 9.08 |
| 2022-01-01 | Jan 2022 | -0.83 | -7.71 | 6.88 |
| 2022-02-01 | Feb 2022 | 0.48 | -9.65 | 10.13 |
| 2022-03-01 | Mar 2022 | 3.32 | -9.7 | 13.02 |
| 2022-04-01 | Apr 2022 | 2.21 | -7.53 | 9.74 |
| 2022-05-01 | May 2022 | 0.3 | -8.38 | 8.68 |
| 2022-06-01 | Jun 2022 | -0.01 | -6.77 | 6.76 |
| 2022-07-01 | Jul 2022 | -1.31 | -6.39 | 5.08 |
| 2022-08-01 | Aug 2022 | -0.31 | -6 | 5.69 |
| 2022-09-01 | Sep 2022 | -1.41 | -7.34 | 5.93 |
| 2022-10-01 | Oct 2022 | -1.01 | -4.93 | 3.92 |
| 2022-11-01 | Nov 2022 | -0.41 | -4.31 | 3.9 |
| 2022-12-01 | Dec 2022 | -0.34 | -5.38 | 5.04 |
| 2023-01-01 | Jan 2023 | -0.2 | -3.8 | 3.6 |
| 2023-02-01 | Feb 2023 | -0.39 | -6.01 | 5.62 |
| 2023-03-01 | Mar 2023 | 0.95 | -7.24 | 8.19 |
| 2023-04-01 | Apr 2023 | 0.85 | -5.65 | 6.5 |
| 2023-05-01 | May 2023 | 1.37 | -7.61 | 8.98 |
| 2023-06-01 | Jun 2023 | -0.08 | -4.55 | 4.47 |
| 2023-07-01 | Jul 2023 | 0.31 | -3.28 | 3.59 |
| 2023-08-01 | Aug 2023 | -0.09 | -5.72 | 5.63 |
| 2023-09-01 | Sep 2023 | 0.14 | -4.55 | 4.69 |
| 2023-10-01 | Oct 2023 | 0.95 | -4.46 | 5.41 |
| 2023-11-01 | Nov 2023 | 0.69 | -4.21 | 4.9 |
| 2023-12-01 | Dec 2023 | 1.21 | -3.07 | 4.28 |
| 2024-01-01 | Jan 2024 | 0.7 | -2.63 | 3.33 |
| 2024-02-01 | Feb 2024 | 0.35 | -3.22 | 3.57 |
| 2024-03-01 | Mar 2024 | 1.18 | -2.94 | 4.12 |
| 2024-04-01 | Apr 2024 | 1.77 | -3.18 | 4.95 |
| 2024-05-01 | May 2024 | 0.83 | -3.59 | 4.42 |
| 2024-06-01 | Jun 2024 | 0.8 | -3.54 | 4.34 |
| 2024-07-01 | Jul 2024 | 1.01 | -2.56 | 3.57 |
| 2024-08-01 | Aug 2024 | 1.21 | -5.23 | 6.44 |
| 2024-09-01 | Sep 2024 | 0.1 | -5.64 | 5.74 |
| 2024-10-01 | Oct 2024 | -0.19 | -5.28 | 5.09 |
| 2024-11-01 | Nov 2024 | 0.13 | -4.1 | 4.23 |
| 2024-12-01 | Dec 2024 | 0.21 | -4.51 | 4.72 |
| 2025-01-01 | Jan 2025 | -0.34 | -4.13 | 3.79 |
| 2025-02-01 | Feb 2025 | -1.89 | -5.46 | 3.57 |
| 2025-03-01 | Mar 2025 | -0.78 | -6.44 | 5.66 |
| 2025-04-01 | Apr 2025 | -0.17 | -7.41 | 7.24 |
| 2025-05-01 | May 2025 | 0.04 | -6.39 | 6.43 |
| 2025-06-01 | Jun 2025 | 0.59 | -5.99 | 6.58 |
| 2025-07-01 | Jul 2025 | 0.91 | -4.46 | 5.37 |
| 2025-08-01 | Aug 2025 | 0.85 | -5.47 | 6.32 |
| 2025-09-01 | Sep 2025 | 0.84 | -5.91 | 6.75 |
| 2025-10-01 | Oct 2025 | 0.01 | -5.49 | 5.5 |
| 2025-11-01 | Nov 2025 | 0.55 | -6.73 | 7.28 |
| 2025-12-01 | Dec 2025 | 1.07 | -5.2 | 6.27 |
| 2026-01-01 | Jan 2026 | 0.18 | -4.88 | 5.06 |
| 2026-02-01 | Feb 2026 | 0.45 | -7.48 | 7.93 |
| 2026-03-01 | Mar 2026 | -3.03 | -9.75 | 6.72 |
| 2026-04-01 | Apr 2026 | -3.55 | -7.37 | 3.82 |
| 2026-05-01 | May 2026 | -0.99 | -4.94 | 3.95 |
| 2026-06-01 | Jun 2026 | -1.53 | -5.39 | 3.86 |
| 2026-07-01 | Jul 2026 | -2.06 | -5.52 | 3.46 |
| 2026-08-01 | Aug 2026 | -0.1 | -4.53 | 4.43 |
- Rows × columns
- 60 × 5
- Period covered
- to
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
month |
date | 2021-09-01 to 2026-08-01 | |
month_label |
text | 60 distinct values (Apr 2022, Apr 2023, Apr 2024…) | |
gld_skew_pts |
number | -3.55 to 3.32 | |
spy_skew_pts |
number | -9.75 to -2.56 | |
gld_minus_spy_pts |
number | 3.33 to 13.02 |
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
toString(toStartOfMonth(date)) AS month,
formatDateTime(toStartOfMonth(date), '%b %Y') AS month_label,
round(avgIf(toFloat64(implied_volatility) * 100, underlying_symbol = 'GLD' AND delta BETWEEN 0.18 AND 0.32)
- avgIf(toFloat64(implied_volatility) * 100, underlying_symbol = 'GLD' AND delta BETWEEN -0.32 AND -0.18), 2) AS gld_skew_pts,
round(avgIf(toFloat64(implied_volatility) * 100, underlying_symbol = 'SPY' AND delta BETWEEN 0.18 AND 0.32)
- avgIf(toFloat64(implied_volatility) * 100, underlying_symbol = 'SPY' AND delta BETWEEN -0.32 AND -0.18), 2) AS spy_skew_pts,
round(gld_skew_pts - spy_skew_pts, 2) AS gld_minus_spy_pts
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('GLD', 'SPY')
AND date >= '2021-09-01'
AND date < '2026-09-01'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
GROUP BY month, month_label
HAVING countIf(underlying_symbol = 'GLD' AND delta BETWEEN 0.18 AND 0.32) > 0
AND countIf(underlying_symbol = 'GLD' AND delta BETWEEN -0.32 AND -0.18) > 0
AND countIf(underlying_symbol = 'SPY' AND delta BETWEEN 0.18 AND 0.32) > 0
AND countIf(underlying_symbol = 'SPY' AND delta BETWEEN -0.32 AND -0.18) > 0
ORDER BY month
Work with this data in your AI assistant
Opens ready to query, with this page's data. Free, no account.