STRASMORE/EXPLORE 2,170 QUERIES 22Y EQUITIES · 12Y OPTIONS

2,170 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

MSFT Implied Volatility: IV Now & Its History
MSFT ATM implied volatility by time to expiration: latest sessionranking · 2026-08-22 · 4×3Preview: 4 ranked values, smallest first. MSFT vs SPY and QQQ: median ATM implied volatility by month, since mid-2022series · 2026-08-22 · 50×4Preview: a 16-point series, ending lower. MSFT at-the-money implied volatility by session: trailing 90 daysseries · 2026-08-22 · 62×2Preview: a 16-point series, ending higher.
MSFT Dividend: Yield, History & Ex-Dates
MSFT dividend snapshot: latest payout, annual rate, yield, and next ex-datescalar · 2026-08-22 · 1×70.91 MSFT recent dividend payments: ex-dividend date and per-share amountseries · 2026-08-22 · 10×2Preview: a 10-point series, ending lower. MSFT total dividends paid per year (regular dividends)ranking · 2026-08-22 · 7×2Preview: 7 ranked values, smallest first.
MSFT ATM implied volatility by time to expiration: latest session

MSFT ATM implied volatility by time to expiration: latest session

most recentas of ranking 4×3read in context →
MSFT ATM implied volatility by time to expiration: latest session — 4 rows by 3 columns, computed from US exchange, SIP and OPRA data.
expiry_bucketatm_iv_pctcontracts
Under 2 weeks25.7178
2-6 weeks25.4100
6 weeks - 4 months29.336
Beyond 4 months31.998
the exact SQL behind every number
SELECT multiIf(days_to_expiry <= 14, 'Under 2 weeks', days_to_expiry <= 45, '2-6 weeks',
               days_to_expiry <= 120, '6 weeks - 4 months', 'Beyond 4 months') AS expiry_bucket,
       round(100 * quantileExact(0.5)(implied_volatility), 1) AS atm_iv_pct,
       count() AS contracts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'MSFT'
  AND date = (SELECT max(date) FROM global_markets.options_greeks)
  AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5
  AND abs(strike_price / underlying_close - 1) <= 0.05
GROUP BY expiry_bucket
HAVING count() >= 5
ORDER BY min(days_to_expiry)
$