Cash-Secured Put

Income

Sell an OTM put and collect premium. Obligated to buy the underlying at the strike if assigned.

Performance across all datasets

SymbolReturn %SharpeMax DD %Win %Avg/trade %Trades
SPY-4.4%-0.21+4.8%+84.2%-0.2%19
QQQ-3.4%-0.15+5.4%+84.2%-0.2%19
IWM-5.1%-0.36+5.4%+79.0%-0.3%19
DIA-4.8%-0.33+4.8%+31.6%-0.3%19
Avg-4.4%-0.26+5.1%+69.7%19
Cumulative P&L % — all symbols

What this shows: Overlayed cumulative return series for this strategy across all available symbols.

How to read it: Look for symbols with smoother curves and faster recoveries to assess whether performance is broad-based or driven by a few outliers.

Detail:
Cumulative P&L % — SPY

What this shows: Single-symbol cumulative return path for SPY.

How to read it: Use this detailed view to inspect entry/exit behavior over time and whether drawdowns cluster in specific periods.

Risk Profile

Max Profit
Premium collected
Max Loss
Strike − Premium (underlying → 0)
Breakeven
Strike − Premium
Outlook
Neutral to bullish

Parameters

ParameterDefaultDescription
strike_pct0.95Strike as fraction of spot (5% OTM)
dte45Days to expiration at entry
cycle_days21Trading days between new positions

Methodology

A cash-secured put sells an out-of-the-money put option and holds cash equal to the strike price as collateral. The maximum profit is the premium collected; the maximum loss is the strike minus premium (if the underlying goes to zero). The strategy profits when the underlying stays above the strike at expiration. It is equivalent to a covered call in terms of risk/reward and is commonly used to acquire stock at a discount or generate income in neutral-to-bullish markets. Backtested using 45 DTE cycles, rolling every 21 trading days, with strikes at 95% of spot.

Implementation

def run_cash_secured_put(S, K, T, r, sigma):
    """
    Cash-Secured Put: sell OTM put, collect premium.
    S: spot price, K: strike (95% of S), T: time to expiry (years)
    r: risk-free rate, sigma: implied volatility
    """
    premium = black_scholes_put(S, K, T, r, sigma)
    # At expiration:
    # P&L = premium - max(0, K - S_exp)
    # Max profit = premium (if S_exp >= K)
    # Max loss   = K - premium (if S_exp = 0)
    return premium

# Backtest loop (45 DTE, monthly cycles)
for entry in monthly_entries:
    S = spot_at_entry
    K = round(S * 0.95 / 5) * 5   # 5% OTM put
    T = 45 / 365.25
    premium = black_scholes_put(S, K, T, RISK_FREE_RATE, avg_iv)
    S_exp = spot_at_expiry
    pnl = premium - max(0, K - S_exp)
    pnl_pct = pnl / K * 100        # as % of collateral
QuantifiedTrader logoQuantifiedTrader

Independent quantitative research on trading methods, backtesting, and market analytics.

Research disclaimer

QuantifiedTrader is operated by an independent quantitative research group. We study, document, and compare different methods of trading, portfolio construction, risk management, and investment analysis. Our work is exploratory and academic in nature—we build tools, run backtests, and publish findings to advance understanding, not to promote any particular strategy or product.

Not investment advice. Nothing on this website constitutes investment, trading, financial, tax, legal, or other professional advice. We do not recommend, endorse, or solicit the purchase or sale of any security, derivative, or financial instrument, nor do we suggest that any strategy, model, or result presented here is suitable for any individual or institution. Any examples, simulations, or performance figures are illustrative research outputs only.

No client or advisory relationship. We do not provide investment advisory, brokerage, portfolio-management, custody, or asset-management services to any person or entity. Browsing this site, using our tools, or contacting us does not create a client, fiduciary, or advisory relationship. We do not manage money on behalf of third parties and do not act as agents for any financial institution.

Research & education only. Content, datasets, backtests, charts, code, and software made available here are for informational and educational research. Materials may be incomplete, simulated, hypothetical, or derived from third-party sources that we do not control. Past performance, backtested results, and historical analyses are not indicative of future results. Market conditions change; models may fail; assumptions may be wrong. You are solely responsible for evaluating any information and for all decisions you make.

No responsibility or liability. To the fullest extent permitted by applicable law, QuantifiedTrader and its contributors disclaim all responsibility and liability for any loss, damage, cost, or expense—direct or indirect—arising from access to, use of, or reliance on this website, its content, or its tools. All materials are provided “as is” and “as available,” without warranties of any kind, whether express or implied, including but not limited to accuracy, completeness, fitness for a particular purpose, or non-infringement.

Non-commercial research sharing. This site does not aim to profit from the knowledge, tools, or datasets published here. Materials are shared for non-commercial research and learning, subject to applicable open-source or site terms where noted. We are a research collective, not a commercial product or service provider.

Contact. For questions about this notice, the site, or published research materials, contact support@quantedx.com. Correspondence is for administrative and research purposes only and does not constitute advice or create any professional obligation on our part.

© 2026 QuantifiedTrader. All rights reserved.