STRASMORE/EXPLORE 2,830 QUERIES

delta_ladder

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-30, from how-to-adjust-an-iron-condor.

as of ranking 8×3read in context →
delta_ladder — 8 rows by 3 columns, computed from US exchange, SIP and OPRA data.
otm_distancecall_deltaput_delta
0.5%0.3470.337
1%0.2040.226
1.5%0.1090.153
2%0.0540.104
2.5%0.0260.072
3%0.0150.051
3.5%0.010.038
4%0.0080.029
Rows × columns
8 × 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 delta_ladder, derived from the stored result.
ColumnTypeRangeNotes
otm_distance text 8 distinct values (0.5%, 1%, 1.5%…)
call_delta number 0.008 to 0.347
put_delta number 0.029 to 0.337

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
    concat(toString(dist_pct), '%')          AS otm_distance,
    round(avgIf(abs(delta), side = 'c'), 3)  AS call_delta,
    round(avgIf(abs(delta), side = 'p'), 3)  AS put_delta
FROM
(
    SELECT
        lower(substring(toString(option_type), 1, 1)) AS side,
        delta,
        round(abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 200) / 2 AS dist_pct
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND date BETWEEN '2026-08-03' AND '2026-08-28'
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry BETWEEN 2 AND 9
      AND ((lower(substring(toString(option_type), 1, 1)) = 'c' AND strike_price > underlying_close)
        OR (lower(substring(toString(option_type), 1, 1)) = 'p' AND strike_price < underlying_close))
)
WHERE dist_pct BETWEEN 0.5 AND 4
GROUP BY dist_pct
HAVING countIf(side = 'c') > 0
   AND countIf(side = 'p') > 0
ORDER BY dist_pct
⌘/Ctrl + Enter

या डेटासोबत तुमच्या AI सहाय्यकात काम करा

या पानावरील डेटासह, क्वेरीसाठी तयार उघडते. मोफत, खात्याशिवाय.