STRASMORE/EXPLORE 2,173 QUERIES

Call and put implied volatility near the money across AAPL monthly expirations, June 16 2026

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-08-05, from Put-Call Parity Explained, With Real Numbers.

as of series 7×6read in context →
Call and put implied volatility near the money across AAPL monthly expirations, June 16 2026 — 7 rows by 6 columns, computed from US exchange, SIP and OPRA data.
expiry_datedays_outatm_strike_usedcall_iv_pctput_iv_pctiv_gap_pct
2026-07-1731$30021.920.51.4
2026-08-2166$30025.124.30.8
2026-09-1894$30025.224.50.7
2026-10-16122$30025.224.30.9
2026-11-20157$29526.826.30.5
2026-12-18185$3002626.2-0.2
2027-01-15213$30026.426.20.3
Rows × columns
7 × 6
Period covered
to
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 Call and put implied volatility near the money across AAPL monthly expirations, June 16 2026, derived from the stored result.
ColumnTypeRangeNotes
expiry_date date 2026-07-17 to 2027-01-15
days_out number 31 to 213
atm_strike_used text 2 distinct values ($295, $300)
call_iv_pct number 21.9 to 26.8 percent
put_iv_pct number 20.5 to 26.3 percent
iv_gap_pct number -0.2 to 1.4 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.

the exact SQL behind every number
SELECT
    expiry_date,
    days_out,
    concat('$', toString(argMin(strike, atm_gap)))                        AS atm_strike_used,
    round(100 * argMin(call_iv, atm_gap), 1)                              AS call_iv_pct,
    round(100 * argMin(put_iv, atm_gap), 1)                               AS put_iv_pct,
    round(100 * (argMin(call_iv, atm_gap) - argMin(put_iv, atm_gap)), 1)  AS iv_gap_pct
FROM
(
    SELECT
        expiry_date,
        days_out,
        strike,
        call_iv,
        put_iv,
        abs(strike / spot_close - 1) AS atm_gap
    FROM
    (
        SELECT
            toString(expiration_date)                                    AS expiry_date,
            max(dateDiff('day', toDate(date), toDate(expiration_date)))  AS days_out,
            round(toFloat64(strike_price), 2)                            AS strike,
            maxIf(toFloat64(implied_volatility), leg = 'C')              AS call_iv,
            maxIf(toFloat64(implied_volatility), leg = 'P')              AS put_iv,
            max(toFloat64(underlying_close))                             AS spot_close
        FROM
        (
            SELECT
                date,
                expiration_date,
                strike_price,
                implied_volatility,
                underlying_close,
                upper(substring(ticker, length(ticker) - 8, 1)) AS leg
            FROM global_markets.options_greeks
            WHERE underlying_symbol = 'AAPL'
              AND date = '2026-06-16'
              AND expiration_date BETWEEN '2026-07-01' AND '2027-01-31'
              AND toDayOfWeek(toDate(expiration_date)) = 5
              AND toDayOfMonth(toDate(expiration_date)) BETWEEN 15 AND 21
              AND iv_converged = 1
              AND volume > 0
              AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.03
        )
        GROUP BY expiry_date, strike
        HAVING countIf(leg = 'C') > 0
           AND countIf(leg = 'P') > 0
    )
)
GROUP BY expiry_date, days_out
ORDER BY expiry_date

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 analysisPut-Call Parity Explained, With Real Numbers
Call and put implied volatility at matched AAPL strikes, Sep 18 2026 expiry ranking 15×4 Annualised cost of a hypothetical 10 cent fill error on a ten point box ranking 12×2 Net delta of a SPY box as the upper strike widens (June 1, 2026) ranking 9×4 A ten point box valued at every level SPY closed at in June 2026 table 8×5 Where SPY option volume sits, by strike distance from spot (June 2026) ranking 5×3 A near-the-money SPY call and put: delta across the June 18 ex-dividend date series 9×3 See all 2,173 queries →