repair_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-19, from stock-repair-strategy.
| strike | pct_above_spot | short_call_price | net_cost_1x2 | max_pnl_per_share | as_of | expiry_label |
|---|---|---|---|---|---|---|
| 40 | 10 | 1.4 | -0.45 | -31.62 | Sep 17, 2026 | Nov 20, 2026 (64 days out) |
| 42.5 | 16.9 | 0.85 | 0.65 | -27.72 | Sep 17, 2026 | Nov 20, 2026 (64 days out) |
| 45 | 23.8 | 0.5 | 1.35 | -23.42 | Sep 17, 2026 | Nov 20, 2026 (64 days out) |
| 47.5 | 30.6 | 0.31 | 1.73 | -18.8 | Sep 17, 2026 | Nov 20, 2026 (64 days out) |
- Rows × columns
- 4 × 7
- 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 | 4 distinct values (40, 42.5, 45…) | |
pct_above_spot |
number | 10 to 30.6 | percent |
short_call_price |
number | 0.31 to 1.4 | US dollars |
net_cost_1x2 |
number | -0.45 to 1.73 | |
max_pnl_per_share |
number | -31.62 to -18.8 | |
as_of |
text | 1 distinct value (Sep 17, 2026) | |
expiry_label |
text | 1 distinct value (Nov 20, 2026 (64 days out)) |
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
WITH
(
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NKE'
AND iv_converged = 1
AND volume > 0
) AS asof_date,
(
SELECT expiration_date
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NKE'
AND lower(toString(option_type)) IN ('call', 'c')
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 60 AND 90
AND date = (
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NKE'
AND iv_converged = 1
AND volume > 0
)
GROUP BY expiration_date
ORDER BY sum(volume) DESC, expiration_date
LIMIT 1
) AS expiry,
(
SELECT toFloat64(max(close))
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'NKE'
AND date >= today() - 371
AND date < today()
) AS purchase_price
SELECT
toString(k) AS strike,
round((k / spot - 1) * 100, 1) AS pct_above_spot,
round(px, 2) AS short_call_price,
round(atm_px - 2 * px, 2) AS net_cost_1x2,
round(2 * k - atm_k - (atm_px - 2 * px) - purchase_price, 2) AS max_pnl_per_share,
concat(formatDateTime(asof_date, '%b'), ' ', toString(toDayOfMonth(asof_date)), ', ', toString(toYear(asof_date))) AS as_of,
concat(formatDateTime(expiry, '%b'), ' ', toString(toDayOfMonth(expiry)), ', ', toString(toYear(expiry)),
' (', toString(dateDiff('day', asof_date, expiry)), ' days out)') AS expiry_label
FROM
(
SELECT
k,
px,
spot,
first_value(k) OVER (ORDER BY abs(k - spot), k ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS atm_k,
first_value(px) OVER (ORDER BY abs(k - spot), k ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS atm_px
FROM
(
SELECT
toFloat64(strike_price) AS k,
toFloat64(any(option_close)) AS px,
toFloat64(any(underlying_close)) AS spot
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NKE'
AND lower(toString(option_type)) IN ('call', 'c')
AND date = asof_date
AND expiration_date = expiry
AND iv_converged = 1
AND volume > 0
GROUP BY strike_price
)
)
WHERE k > atm_k
AND k <= atm_k * 1.30
ORDER BY k
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.