STRASMORE/EXPLORE 2,358 QUERIES

strike_gamma

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 are-0dte-options-high-risk.

as of ranking 9×3read in context →
strike_gamma — 9 rows by 3 columns, computed from US exchange, SIP and OPRA data.
moneynessnext_day_delta_shiftmonth_out_delta_shift
-2%0.0780.071
-1.5%0.1310.077
-1%0.2240.081
-0.5%0.3720.087
0%0.4970.092
+0.5%0.3880.097
+1%0.2110.098
+1.5%0.0940.097
+2%0.0420.095
Rows × columns
9 × 3
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 strike_gamma, derived from the stored result.
ColumnTypeRangeNotes
moneyness text 9 distinct values (+0.5%, +1%, +1.5%…)
next_day_delta_shift number 0.042 to 0.497
month_out_delta_shift number 0.071 to 0.098

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
    concat(if(half_pct > 0, '+', ''), toString(half_pct / 2), '%')  AS moneyness,
    round(avgIf(gma * spot / 100, dte <= 1), 3)                      AS next_day_delta_shift,
    round(avgIf(gma * spot / 100, dte BETWEEN 21 AND 45), 3)         AS month_out_delta_shift
FROM
(
    SELECT
        toInt32(round((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 200)) AS half_pct,
        days_to_expiry                                                                     AS dte,
        toFloat64(gamma)                                                                   AS gma,
        toFloat64(underlying_close)                                                        AS spot
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND date >= toDate('2026-06-01')
      AND date <  toDate('2026-07-01')
      AND ((days_to_expiry > 0 AND days_to_expiry <= 1) OR days_to_expiry BETWEEN 21 AND 45)
      AND iv_converged = 1
      AND volume > 0
      AND option_close > 0
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.0225
      AND ((lower(toString(option_type)) IN ('call', 'c') AND strike_price >= underlying_close)
        OR (lower(toString(option_type)) IN ('put', 'p')  AND strike_price <  underlying_close))
)
GROUP BY half_pct
HAVING countIf(dte <= 1) > 0 AND countIf(dte BETWEEN 21 AND 45) > 0
ORDER BY half_pct

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 analysisare-0dte-options-high-risk
expiry_outcomes ranking 5×2 expiry_day series 21×6 premium_ladder table 5×5 greeks_ladder series 5×5 Top 25 weekly-options underlyings by distinct contracts traded, with expiration weekdays ranking 25×4 Annualized volatility vs total return, 25 large caps, calmest to wildest (~2 years) ranking 25×3 See all 2,358 queries →