How to Get Approved for Options Trading
The same short put as a five-point credit spread in a margin account (June 12, 2026 close, July 17 expiry)table ·
2026-09-17 · 9×9
Selling one SPY put in a cash account: premium collected vs. cash held (June 12, 2026 close, July 17 expiry)table ·
2026-09-17 · 9×5
The same short put as a five-point credit spread in a margin account (June 12, 2026 close, July 17 expiry)
The same short put as a five-point credit spread in a margin account (June 12, 2026 close, July 17 expiry)
| short_strike | long_strike | short_put_price | long_put_price | net_credit_dollars | margin_requirement_dollars | credit_pct_of_requirement | cash_vs_margin_ratio | spy_close |
|---|---|---|---|---|---|---|---|---|
| 740 | 735 | 12.37 | 10.6 | 177 | 323 | 54.8 | 229.1 | 742.45 |
| 735 | 730 | 10.6 | 8.96 | 164 | 336 | 48.8 | 218.8 | 742.45 |
| 730 | 725 | 8.96 | 7.71 | 125 | 375 | 33.3 | 194.7 | 742.45 |
| 725 | 720 | 7.71 | 6.58 | 113 | 387 | 29.2 | 187.3 | 742.45 |
| 720 | 715 | 6.58 | 5.72 | 86 | 414 | 20.8 | 173.9 | 742.45 |
| 715 | 710 | 5.72 | 4.87 | 85 | 415 | 20.5 | 172.3 | 742.45 |
| 710 | 705 | 4.87 | 4.19 | 68 | 432 | 15.7 | 164.4 | 742.45 |
| 705 | 700 | 4.19 | 3.59 | 60 | 440 | 13.6 | 160.2 | 742.45 |
| 700 | 695 | 3.59 | 3.18 | 41 | 459 | 8.9 | 152.5 | 742.45 |
the exact SQL behind every number
SELECT
s.strike AS short_strike,
l.strike AS long_strike,
s.put_price AS short_put_price,
l.put_price AS long_put_price,
toInt32(round((s.put_price - l.put_price) * 100)) AS net_credit_dollars,
toInt32(round((s.strike - l.strike) * 100)) - net_credit_dollars AS margin_requirement_dollars,
round(net_credit_dollars / margin_requirement_dollars * 100, 1) AS credit_pct_of_requirement,
round(s.strike * 100 / margin_requirement_dollars, 1) AS cash_vs_margin_ratio,
s.spy_close AS spy_close
FROM
(
SELECT
toInt32(round(toFloat64(strike_price))) AS strike,
strike - 5 AS long_strike,
round(any(toFloat64(option_close)), 2) AS put_price,
toString(round(any(toFloat64(underlying_close)), 2)) AS spy_close
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND toDate(date) = toDate('2026-06-12')
AND toDate(expiration_date) = toDate('2026-07-17')
AND lower(toString(option_type)) LIKE 'p%'
AND iv_converged = 1
AND volume > 0
AND toFloat64(underlying_close) > 0
AND toFloat64(strike_price) < toFloat64(underlying_close)
AND toFloat64(strike_price) >= toFloat64(underlying_close) * 0.94
AND toInt32(round(toFloat64(strike_price))) % 5 = 0
AND abs(toFloat64(strike_price) - round(toFloat64(strike_price))) < 0.001
GROUP BY strike_price
) AS s
INNER JOIN
(
SELECT
toInt32(round(toFloat64(strike_price))) AS strike,
round(any(toFloat64(option_close)), 2) AS put_price
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND toDate(date) = toDate('2026-06-12')
AND toDate(expiration_date) = toDate('2026-07-17')
AND lower(toString(option_type)) LIKE 'p%'
AND iv_converged = 1
AND volume > 0
AND toFloat64(underlying_close) > 0
AND toFloat64(strike_price) < toFloat64(underlying_close)
AND toFloat64(strike_price) >= toFloat64(underlying_close) * 0.90
AND toInt32(round(toFloat64(strike_price))) % 5 = 0
AND abs(toFloat64(strike_price) - round(toFloat64(strike_price))) < 0.001
GROUP BY strike_price
) AS l ON l.strike = s.long_strike
ORDER BY short_strike DESC
More from this analysisHow to Get Approved for Options Trading
Selling one SPY put in a cash account: premium collected vs. cash held (June 12, 2026 close, July 17 expiry)
table 9×5
→
AAPL puts, June 20, 2025 expiration: FINRA margin vs. cash-secured requirement at the May 19, 2025 close
table 8×5
→
What one AAPL call cost by strike: June 20, 2025 expiration, priced at the May 19, 2025 close
table 8×5
→
One put contract versus the 100 shares it covers
table 5×5
→
See all 3,293 queries →