Options strategy simulator (synthetic pricing, single-path)

Formerly labeled “Backtesting Engine”. Renamed 2026-07-16 to reflect what the tool actually does: replay a covered-call, cash-secured-put, or wheel strategy against real historical underlying price data, with option premiums synthesized from Black-Scholes using trailing realized volatility as an IV proxy. Returns CAGR, Sharpe, Sortino, max drawdown, win rate, equity curve, and monthly returns.

Useful for directional scenario testing — comparing “what if I ran this strategy on SPY from 2020–2025” against a benchmark — but not a replay of historical option chains or executable prices. Real bid/ask spreads, partial fills, dividend-driven early assignment, and IV-vs-RV divergence in high-stress regimes are not captured. See the full assumptions list on the methodology page before drawing conclusions.

Configure and click "Run backtest".

How the Backtest engine works

Pick a ticker, a strategy (covered call, cash-secured put, or wheel), a date range, and the parameters you would use in real life (delta target, DTE, roll rules). The engine replays each cycle, sells the option at theoretical Black-Scholes price using historical IV, marks each position to expiration, and reports cumulative P&L, win rate, and drawdown.

Methodology

Pricing uses Black-Scholes-Merton with the Abramowitz-Stegun normal CDF approximation. Strike selection for a target delta inverts the BSM delta formula via Newton's method. Each cycle either expires worthless (full premium captured), expires in-the-money (assignment or buy-back at intrinsic), or is rolled at a configurable threshold. We do not assume perfect mid-price fills — the engine applies a configurable bid-ask haircut so results are realistic.

Worked example

A 30-day, 0.30-delta covered-call campaign on SPY over the last 5 years typically shows ~7-9% annualised premium income on top of underlying drift, with a meaningfully lower drawdown than buy-and-hold during high-IV regimes, and worse performance in strong uptrends because of called-away upside.

Limitations

What “historical IV” actually means here: we do not have a historical implied-volatility surface. In its place, we compute trailing 20-day close-to-close realized volatility (annualized) from Polygon end-of-day bars, and feed that value as sigma into the Black-Scholes formula. During calm regimes IV and RV converge; during 2020 Q1, 2022, and other stress events, real option IV exceeded RV substantially (the vol-risk premium), so this simulator systematically under-prices premiums — and therefore under-states income captured — in those windows. Real-world commissions ($0.65/contract at most brokers), tax lot churn, partial-fill slippage, and dividend-driven early assignment are not modeled. Results are illustrative single-path scenarios, not a guarantee of future performance and not a replacement for a real trade log.

Reproducibility: every simulator run's parameter set is encoded in the URL. Copy the address bar after clicking Run to share or cite a specific result — the same URL run against the same historical dataset produces the same output. Result cards include a runId and a dataAsOf stamp.

Frequently asked questions

Why does my backtest differ from real broker P&L?

Three reasons: actual fills sit between bid and ask (we use mid with a configurable haircut), real assignment timing is event-driven not date-driven, and real-world tax-lot churn is not modeled.

How far back can I test?

Up to 10 years of daily history. Older data is sparser and less reliable for short-dated options.

Can I add custom rules?

Currently you can adjust delta target, DTE, roll trigger, and assignment behavior. More complex multi-leg backtests live in the Strategy Builder.