put_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-18, from how-much-money-do-you-need-to-trade-options.
| strike | pct_below_close | credit_usd | margin_required_usd | cash_secured_usd |
|---|---|---|---|---|
| 190 | 9 | 148 | 2436 | 19000 |
| 192.5 | 7.9 | 189 | 2727 | 19250 |
| 195 | 6.7 | 221 | 3009 | 19500 |
| 197.5 | 5.5 | 280 | 3318 | 19750 |
| 200 | 4.3 | 320 | 3608 | 20000 |
| 202.5 | 3.1 | 397 | 3935 | 20250 |
| 205 | 1.9 | 476 | 4264 | 20500 |
| 207.5 | 0.7 | 575 | 4613 | 20750 |
- Rows × columns
- 8 × 5
- 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 |
text | 8 distinct values (190, 192.5, 195…) | |
pct_below_close |
number | 0.7 to 9 | percent |
credit_usd |
number | 148 to 575 | US dollars |
margin_required_usd |
number | 2,436 to 4,613 | US dollars |
cash_secured_usd |
number | 19,000 to 20,750 | 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.
the exact SQL behind every number
SELECT
toString(toFloat64(strike_price)) AS strike,
round((1 - toFloat64(strike_price) / toFloat64(max(underlying_close))) * 100, 1) AS pct_below_close,
toUInt32(round(toFloat64(max(option_close)) * 100)) AS credit_usd,
toUInt32(round(greatest(
0.20 * toFloat64(max(underlying_close))
- greatest(toFloat64(max(underlying_close)) - toFloat64(strike_price), 0.0)
+ toFloat64(max(option_close)),
0.10 * toFloat64(strike_price) + toFloat64(max(option_close))
) * 100)) AS margin_required_usd,
toUInt32(toFloat64(strike_price) * 100) AS cash_secured_usd
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND toDate(date) = '2025-05-19'
AND toDate(expiration_date) = '2025-06-20'
AND lower(toString(option_type)) IN ('p', 'put')
AND iv_converged = 1
AND volume > 0
AND toFloat64(strike_price) <= toFloat64(underlying_close)
AND toFloat64(strike_price) >= toFloat64(underlying_close) * 0.90
GROUP BY strike_price
ORDER BY strike_price
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 analysishow-much-money-do-you-need-to-trade-options
call_ladder
table 8×5
→
put_trace
series 31×5
→
spread_ladder
ranking 8×3
→
The 2s10s spread, every print of the half
table 124×2
→
The 2s10s spread, every print of the half
table 124×2
→
Every half-year since 1976: the 2y and 10y change, the twist between them, and the half's lowest 2s10s print
table 100×7
→
See all 2,358 queries →