Median quoted spread on Apple options by contract price, 30 second window on June 17 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-07, from Why Your Options Order Isn't Getting Filled.
| price_bucket | median_spread_cents | spread_pct_of_mid |
|---|---|---|
| under $0.50 | 17 | 75 |
| $0.50 to $2 | 26 | 25 |
| $2 to $5 | 40 | 11.9 |
| $5 to $15 | 75 | 8.6 |
| $15 and up | 170 | 3.8 |
- Rows × columns
- 5 × 3
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
price_bucket |
text | 5 distinct values ($0.50 to $2, $15 and up, $2 to $5…) | |
median_spread_cents |
number | 17 to 170 | |
spread_pct_of_mid |
number | 3.8 to 75 | 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
price_bucket,
round(quantileExact(0.5)(spread) * 100, 1) AS median_spread_cents,
round(quantileExact(0.5)(100 * spread / mid), 1) AS spread_pct_of_mid
FROM
(
SELECT
toFloat64(ask_price) - toFloat64(bid_price) AS spread,
(toFloat64(ask_price) + toFloat64(bid_price)) / 2 AS mid,
multiIf(mid < 0.50, 'under $0.50',
mid < 2.00, '$0.50 to $2',
mid < 5.00, '$2 to $5',
mid < 15.00, '$5 to $15',
'$15 and up') AS price_bucket,
multiIf(mid < 0.50, 1, mid < 2.00, 2, mid < 5.00, 3, mid < 15.00, 4, 5) AS bucket_order
FROM global_markets.cache_options_quotes
WHERE ticker IN
(
SELECT ticker
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = '2026-06-17'
)
AND sip_timestamp >= toDateTime('2026-06-17 18:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-17 18:00:30', 'UTC')
AND bid_price > 0
AND ask_price > bid_price
)
GROUP BY price_bucket
ORDER BY min(bucket_order)
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 analysisWhy Your Options Order Isn't Getting Filled
Apple option trades on June 17 2026: share of prints vs share of contracts, by trade size
ranking 5×3
→
Apple option activity by strike distance, 20 to 45 days to expiry, May and June 2026
ranking 5×3
→
Apple options quote updates, second by second, 2:00 p.m. ET on June 17 2026
series 30×3
→
AAPL trades by venue, latest session: off-exchange first
ranking 19×4
→
Venues publishing a bid in AAPL over one half hour, July 16 2026
ranking 16×4
→
Average call and put delta by strike distance from spot (SPY, 25 to 35 days to expiry, June 2026)
ranking 11×3
→
See all 2,170 queries →