Cash-secured put calculator — premium yield and return on capital

Compute premium yield, annualized return on cash at risk, and what your cost basis would be if you're assigned. Built for theta-gang and wheel-strategy traders. Delayed option chains via Polygon (~15-min lag).

A cash-secured put calculator estimates the premium income, effective purchase price if assigned, breakeven, return on cash collateral, and annualized screen yield for selling one put contract fully backed by cash. Your maximum loss remains substantial: if the stock falls far below the strike you still must buy 100 shares at that strike, so the worst case is roughly (strike × 100) − premium received per contract if the underlying goes to zero. This tool uses delayed option-chain quotes.

What every result on this page means — formula and important limitations
Metric How it's calculated Important limitation
Premium received mid × 100 × contracts Midpoint may not be executable at fill.
Cash secured (collateral) strike × 100 × contracts This capital is locked until the trade closes or is assigned.
Return on collateral (cycle) premium ÷ cash secured Not total expected return — ignores possible assignment and stock price change.
Annualized ROC (screen) ROC × (365 ÷ DTE) Assumes the same yield is repeatable every cycle; typically overstates realized returns.
Effective cost basis if assigned strike − (premium ÷ 100) Per share, before commissions and any subsequent price movement.
Breakeven strike − (premium ÷ 100) Ignores commissions; below breakeven you still own the stock at a loss.
Assignment probability ≈ |delta| (first-order); BSM POP with skew adjustment when IV available Delta approximation ignores skew; realized assignment rates vary with the volatility regime.
Maximum loss per contract (strike × 100) − premium received Occurs only if the underlying falls to zero; still a meaningful tail risk on individual names.

Data source: Polygon.io Options Starter tier (~15-minute delayed during market hours; after-hours shows previous close). See the methodology page for the full formulas and known limitations.

Trade Inputs

$
Load chain to populate
Pick an expiration first
$
Auto-fills from chain; override to model your own price
For assignment-risk model

Results

Cash at risk
Strike × shares
Premium income
Premium yield
— annualized ROC
Effective cost basis
— vs current
Breakeven
If assigned
Days to expiry

Payoff Diagram

How a cash-secured put works

' + '
Data SourceStored locally on your device.
' + '
' + '' + '' + '' + '' + '
' + '
' + '
' + '
' + '
' + '' + '

Keys saved to localStorage on this device only.

' + '
' + '
'; el.querySelectorAll('[data-prov]').forEach(function (btn) { btn.onclick = function () { setProvider(btn.dataset.prov); mountSettings(el); document.dispatchEvent(new CustomEvent('oit:provider-changed')); }; }); var save = el.querySelector('#oit-save-keys'); if (save) save.onclick = function () { setKeys({ polygon: el.querySelector('#oit-key-polygon').value.trim(), tradier: el.querySelector('#oit-key-tradier').value.trim() }); localStorage.setItem(TRADIER_ENV_KEY, el.querySelector('#oit-tradier-env').value); save.textContent = 'Saved ✓'; setTimeout(function () { save.textContent = 'Save'; }, 1500); document.dispatchEvent(new CustomEvent('oit:keys-changed')); }; } Connector.mountSettings = mountSettings; // Expose connector on multiple globals (different scripts in the project expect different names) global.DataConnector = Connector; global.OITApi = Connector; global.OIT = global.OIT || {}; global.OIT.api = Connector; })(window);

Cash-secured put methodology, formulas, and worked examples

Formula

Cycle yield = premium ÷ (strike × 100). Annualized screen yield = cycle yield × (365 ÷ DTE). Effective cost basis if assigned = strike − premium.

Conservative example

SPY at $580, 30-day $560 cash-secured put (OTM by 3.5%), mid premium $2.10. Capital at risk $56,000. Cycle yield = 0.38%. Annualized = 4.6%. Delta −0.15. Effective basis if assigned: $557.90 per share.

Aggressive example

NVDA at $400, 14-day $390 cash-secured put (just OTM), mid premium $4.80. Cycle yield = 1.23%. Annualized = 32.1%. Delta −0.32. Effective basis: $385.20 per share.

Losing outcome

NVDA at $400, 30-day $390 CSP for $4.80. NVDA drops to $350 by expiration. The put is exercised; you buy 100 shares at $390 = $39,000 capital deployed. Your unrealized loss on the underlying is ($385.20 − $350) × 100 = -$3,520. The premium offset $480 of the loss; the rest is real position risk.

Inputs, commissions, and not modeled

Inputs: ticker, strike (must be ≤ spot for OTM mode), expiration/DTE, mid premium, cash collateral (strike × 100). Default commission: $0.65 per contract per leg. Default slippage: 25% of bid-ask spread. Not modeled: tax treatment if assigned, interest on collateral cash, deep-ITM early assignment, IV crush around earnings.

Related metric definitions

For the full mathematical methodology, see methodology. Educational only — not investment advice. See the disclaimer.