STRASMORE/EXPLORE 3,022 QUERIES

itm_al_vencimiento

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-10-04, from how-option-premiums-are-taxed-in-spain.

as of ranking 8×3read in context →
itm_al_vencimiento — 8 rows by 3 columns, computed from US exchange, SIP and OPRA data.
delta_bucketcontratos_countpct_itm_al_vencimiento
0 a 0.111948.5
0.1 a 0.2116117.1
0.2 a 0.385028
0.3 a 0.480743.2
0.4 a 0.581055.6
0.5 a 0.694367.9
0.6 a 0.7122281.8
0.7 a 0.899585.6
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 itm_al_vencimiento, derived from the stored result.
ColumnTypeRangeNotes
delta_bucket text 8 distinct values (0 a 0.1, 0.1 a 0.2, 0.2 a 0.3…)
contratos_count number 807 to 1,222 count
pct_itm_al_vencimiento number 8.5 to 85.6 percent

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(d.delta_floor), ' a ', toString(round(d.delta_floor + 0.1, 1))) AS delta_bucket,
    count()                                                                         AS contratos_count,
    round(100 * countIf(d.cierre_vencimiento > d.strike) / count(), 1)              AS pct_itm_al_vencimiento
FROM
(
    SELECT
        g.delta_floor AS delta_floor,
        g.strike      AS strike,
        a.close_px    AS cierre_vencimiento
    FROM
    (
        SELECT
            ticker,
            argMin(round(floor(delta * 10) / 10, 1), date) AS delta_floor,
            argMin(toFloat64(strike_price), date)         AS strike,
            toDate(any(expiration_date))                  AS vencimiento,
            any(underlying_symbol)                        AS subyacente
        FROM global_markets.options_greeks
        WHERE underlying_symbol IN ('AAPL', 'MSFT', 'KO', 'SPY')
          AND lower(option_type) IN ('call', 'c')
          AND iv_converged = 1
          AND volume > 0
          AND days_to_expiry BETWEEN 30 AND 45
          AND delta BETWEEN 0.05 AND 0.75
          AND date >= today() - 420
          AND date <  today() - 45
        GROUP BY ticker
    ) AS g
    INNER JOIN
    (
        SELECT
            ticker,
            date,
            toFloat64(close) AS close_px
        FROM global_markets.stocks_daily_aggs
        WHERE ticker IN ('AAPL', 'MSFT', 'KO', 'SPY')
          AND date >= today() - 420
    ) AS a ON a.ticker = g.subyacente AND a.date = g.vencimiento
) AS d
GROUP BY d.delta_floor
HAVING count() >= 25
ORDER BY d.delta_floor
⌘/Ctrl + Enter

Trabaja con estos datos en tu asistente de IA

Se abre listo para consultar, con los datos de esta página. Gratis, sin cuenta.