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

2,173 answered market questions

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

How Ex-Dividend Dates Affect Options
Day before SPY's ex-date: time value left in deep-in-the-money calls, by days to expiryranking · 2026-07-17 · 3×4Preview: 3 ranked values, smallest first. SPY's quarterly dividends, 2025 through the June 2026 ex-dateseries · 2026-07-17 · 6×2Preview: a 6-point series, ending higher. Where the exercise-optimal calls concentrated on June 29, 2026ranking · 2026-07-17 · 10×4Preview: 10 ranked values, largest first. The early-exercise census: every ITM call on every June 30 ex-dividend payer, tested on June 29scalar · 2026-07-17 · 1×485 A near-the-money SPY call and put: delta across the June 18 ex-dividend dateseries · 2026-07-17 · 9×3Preview: a 9-point series, ending lower.
Day before SPY's ex-date: time value left in deep-in-the-money calls, by days to expiry

Day before SPY's ex-date: time value left in deep-in-the-money calls, by days to expiry

most recentas of ranking 3×4read in context →
Day before SPY's ex-date: time value left in deep-in-the-money calls, by days to expiry — 3 rows by 4 columns, computed from US exchange, SIP and OPRA data.
days_to_expirycontractsmedian_time_valuepct_below_dividend
3 to 9 days363.8914
10 to 16 days794.3511
17 to 45 days1105.920
the exact SQL behind every number
SELECT
    multiIf(dte <= 9, '3 to 9 days', dte <= 16, '10 to 16 days', '17 to 45 days') AS days_to_expiry,
    count() AS contracts,
    round(median(time_value), 2) AS median_time_value,
    round(100.0 * countIf(time_value < 1.904) / count(), 0) AS pct_below_dividend
FROM (
    SELECT option_close - greatest(underlying_close - strike_price, 0) AS time_value,
           (expiration_date - toDate('2026-06-17')) AS dte
    FROM global_markets.options_greeks
    WHERE date = '2026-06-17'
      AND option_type = 'C'
      AND underlying_symbol = 'SPY'
      AND underlying_close - strike_price >= 25
      AND expiration_date > toDate('2026-06-17')
      AND expiration_date <= toDate('2026-08-01')
      AND implied_volatility > 0.02
)
GROUP BY days_to_expiry
ORDER BY min(dte)
$