What Is Vomma? The Convexity of Vega
How far the vega-only estimate falls short, by size of the vol moveranking ·
2026-10-05 · 7×3
Vega and vomma across strikes, one SPY expiryranking ·
2026-10-05 · 7×4
Implied volatility across strikes on the same SPY expiryranking ·
2026-10-05 · 7×4
Percent change in vega per vol point, by time to expiry (SPY)ranking ·
2026-10-05 · 5×3
How far the vega-only estimate falls short, by size of the vol move
How far the vega-only estimate falls short, by size of the vol move
| vol_rise | wing_uplift_pct | atm_uplift_pct |
|---|---|---|
| +1 vol pts | 7.9 | 0.3 |
| +2 vol pts | 15.9 | 0.6 |
| +3 vol pts | 23.8 | 0.9 |
| +5 vol pts | 39.7 | 1.4 |
| +8 vol pts | 63.5 | 2.3 |
| +10 vol pts | 79.3 | 2.9 |
| +15 vol pts | 119 | 4.3 |
the exact SQL behind every number
WITH
(
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
) AS snap_date,
(
SELECT argMin(expiration_date, abs(toInt32(days_to_expiry) - 35))
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = snap_date
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 60
) AS expiry
SELECT
concat('+', toString(shock_pts), ' vol pts') AS vol_rise,
round(0.5 * wing_growth * shock_pts, 1) AS wing_uplift_pct,
round(0.5 * atm_growth * shock_pts, 1) AS atm_uplift_pct
FROM
(
SELECT
avgIf(d1 * d2 / sigma, abs(k) > 0.05 AND abs(k) <= 0.12) AS wing_growth,
avgIf(d1 * d2 / sigma, abs(k) <= 0.02) AS atm_growth
FROM
(
SELECT
k,
sigma,
d1,
d1 - sigma * sqrt(t_years) AS d2
FROM
(
SELECT
k,
sigma,
t_years,
(log(spot / strike) + (rate + sigma * sigma / 2) * t_years)
/ (sigma * sqrt(t_years)) AS d1
FROM
(
SELECT
toFloat64(underlying_close) AS spot,
toFloat64(strike_price) AS strike,
toFloat64(strike_price) / toFloat64(underlying_close) - 1 AS k,
toFloat64(implied_volatility) AS sigma,
days_to_expiry / 365.0 AS t_years,
if(toFloat64(risk_free_rate) > 1,
toFloat64(risk_free_rate) / 100,
toFloat64(risk_free_rate)) AS rate
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = snap_date
AND expiration_date = expiry
AND iv_converged = 1
AND volume > 0
AND vega > 0
AND days_to_expiry >= 7
AND implied_volatility BETWEEN 0.02 AND 3.0
)
)
)
HAVING countIf(abs(k) > 0.05 AND abs(k) <= 0.12) > 0
AND countIf(abs(k) <= 0.02) > 0
) AS chain
CROSS JOIN
(
SELECT arrayJoin([1, 2, 3, 5, 8, 10, 15]) AS shock_pts
) AS shocks
ORDER BY shock_pts
More from this analysisWhat Is Vomma? The Convexity of Vega
Vega and vomma across strikes, one SPY expiry
ranking 7×4
→
Implied volatility across strikes on the same SPY expiry
ranking 7×4
→
Percent change in vega per vol point, by time to expiry (SPY)
ranking 5×3
→
Same underlying, same IV, rising vega: AAPL by days to expiry (July 2026)
ranking 14×4
→
See all 3,094 queries →