chain_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-27, from what-is-a-strike-price.
| strike_usd | call_premium_usd | put_premium_usd | gap_usd |
|---|---|---|---|
| 250 | 22.68 | 1.11 | 250 |
| 255 | 18.64 | 1.78 | 5 |
| 260 | 15.5 | 2.88 | 5 |
| 265 | 12.08 | 4.84 | 5 |
| 267.5 | 10.5 | 5.63 | 2.5 |
| 270 | 8.55 | 6.7 | 2.5 |
| 272.5 | 7.56 | 7.52 | 2.5 |
| 277.5 | 5.2 | 8.65 | 5 |
| 280 | 4.5 | 10.8 | 2.5 |
- Rows × columns
- 9 × 4
- 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 |
|---|---|---|---|
strike_usd |
text | 9 distinct values (250, 255, 260…) | |
call_premium_usd |
number | 4.5 to 22.68 | US dollars |
put_premium_usd |
number | 1.11 to 10.8 | US dollars |
gap_usd |
number | 2.5 to 250 | US dollars |
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.
WITH snapshot AS
(
SELECT max(date) AS as_of
FROM global_markets.options_greeks
WHERE underlying_symbol = 'JNJ'
),
expiry_pick AS
(
SELECT min(expiration_date) AS expiry
FROM global_markets.options_greeks
WHERE underlying_symbol = 'JNJ'
AND date = (SELECT as_of FROM snapshot)
AND days_to_expiry BETWEEN 20 AND 45
AND volume > 0
),
rungs AS
(
SELECT
toFloat64(strike_price) AS strike,
round(avgIf(toFloat64(option_close), lower(option_type) IN ('call', 'c')), 2) AS call_premium_usd,
round(avgIf(toFloat64(option_close), lower(option_type) IN ('put', 'p')), 2) AS put_premium_usd
FROM global_markets.options_greeks
WHERE underlying_symbol = 'JNJ'
AND date = (SELECT as_of FROM snapshot)
AND expiration_date = (SELECT expiry FROM expiry_pick)
AND iv_converged = 1
AND volume > 0
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.08
GROUP BY strike
HAVING countIf(lower(option_type) IN ('call', 'c')) > 0
AND countIf(lower(option_type) IN ('put', 'p')) > 0
)
SELECT
toString(strike) AS strike_usd,
call_premium_usd,
put_premium_usd,
round(strike - lagInFrame(strike) OVER (ORDER BY strike), 2) AS gap_usd
FROM rungs
ORDER BY strike
Gunakan data ini dalam pembantu AI anda
Dibuka sedia untuk ditanya, dengan data halaman ini. Percuma, tanpa akaun.