STRASMORE/EXPLORE 2,433 QUERIES

strike_vergleich

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-20, from itm-vs-otm-leaps.

as of table 3×15read in context →
strike_vergleich — 3 rows by 15 columns, computed from US exchange, SIP and OPRA data.
strike_typebasispreisspy_kurspraemie_je_aktiepraemie_je_kontrakt_usdinnerer_wertzeitwertzeitwert_anteil_pctdeltatheta_je_kontrakt_usd_tagbreakevenbreakeven_abstand_pcthebelrestlaufzeit_tageverfall
ITM (Delta ~0,80)660764.48191.2719127104.4886.7945.40.818.73851.2711.43.282615.12.2028
ATM (Delta ~0,50)870764.4864.446444064.441000.498.04934.4422.25.882615.12.2028
OTM (Delta ~0,30)950764.4834.153415034.151000.336.25984.1528.77.482615.12.2028
Rows × columns
3 × 15
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_vergleich, derived from the stored result.
ColumnTypeRangeNotes
strike_type text 3 distinct values
basispreis number 660 to 950
spy_kurs number every row is 764.48
praemie_je_aktie number 34.15 to 191.27
praemie_je_kontrakt_usd number 3,415 to 19,127 US dollars
innerer_wert number 0 to 104.48
zeitwert number 34.15 to 86.79
zeitwert_anteil_pct number 45.4 to 100 percent
delta number 0.33 to 0.81
theta_je_kontrakt_usd_tag number 6.25 to 8.73 US dollars
breakeven number 851.27 to 984.15
breakeven_abstand_pct number 11.4 to 28.7 percent
hebel number 3.2 to 7.4
restlaufzeit_tage number every row is 826
verfall text 1 distinct value (15.12.2028)

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
    strike_type,
    tupleElement(best, 1)                                                          AS basispreis,
    tupleElement(best, 3)                                                          AS spy_kurs,
    tupleElement(best, 2)                                                          AS praemie_je_aktie,
    toInt32(round(tupleElement(best, 2) * 100))                                    AS praemie_je_kontrakt_usd,
    round(greatest(tupleElement(best, 3) - tupleElement(best, 1), 0), 2)           AS innerer_wert,
    round(tupleElement(best, 2) - greatest(tupleElement(best, 3) - tupleElement(best, 1), 0), 2) AS zeitwert,
    round((tupleElement(best, 2) - greatest(tupleElement(best, 3) - tupleElement(best, 1), 0)) / tupleElement(best, 2) * 100, 1) AS zeitwert_anteil_pct,
    round(tupleElement(best, 4), 2)                                                AS delta,
    round(abs(tupleElement(best, 5)) * 100, 2)                                     AS theta_je_kontrakt_usd_tag,
    round(tupleElement(best, 1) + tupleElement(best, 2), 2)                        AS breakeven,
    round((tupleElement(best, 1) + tupleElement(best, 2)) / tupleElement(best, 3) * 100 - 100, 1) AS breakeven_abstand_pct,
    round(tupleElement(best, 4) * tupleElement(best, 3) / tupleElement(best, 2), 1) AS hebel,
    tupleElement(best, 6)                                                          AS restlaufzeit_tage,
    formatDateTime(tupleElement(best, 7), '%d.%m.%Y')                              AS verfall
FROM
(
    SELECT
        ['ITM (Delta ~0,80)', 'ATM (Delta ~0,50)', 'OTM (Delta ~0,30)'][i] AS strike_type,
        [0.80, 0.50, 0.30][i]                                              AS ziel_delta,
        argMin(tuple(toFloat64(strike_price), toFloat64(option_close), toFloat64(underlying_close),
                     toFloat64(delta), toFloat64(theta), days_to_expiry, expiration_date),
               abs(toFloat64(delta) - [0.80, 0.50, 0.30][i]))              AS best
    FROM global_markets.options_greeks
    ARRAY JOIN [1, 2, 3] AS i
    WHERE underlying_symbol = 'SPY'
      AND option_type IN ('call', 'C', 'CALL')
      AND date = '2026-09-11'
      AND iv_converged = 1
      AND volume > 0
      AND option_close > 0
      AND expiration_date =
      (
          SELECT max(expiration_date)
          FROM
          (
              SELECT expiration_date
              FROM global_markets.options_greeks
              WHERE underlying_symbol = 'SPY'
                AND option_type IN ('call', 'C', 'CALL')
                AND date = '2026-09-11'
                AND iv_converged = 1
                AND volume > 0
                AND days_to_expiry >= 365
              GROUP BY expiration_date
              HAVING count() >= 15
          )
      )
    GROUP BY i
)
ORDER BY ziel_delta DESC
⌘/Ctrl + Enter