Historical underlying prices do not supply historical option prices
This page explores how twelve synthetic option structures behave on a returned stock-price history. It requests FMP daily closes, including up to 90 calendar days before your start date for volatility warm-up. It does not request an option-chain snapshot: a current premium or Greek cannot establish what a past option cost. A true historical-options test needs point-in-time contracts, quotes, expirations, corporate actions and execution assumptions that this dataset does not contain.
Follow the model inputs to each closed scenario
- Choose a stock or ETF symbol, a preset, dates ending before today in UTC, an entry interval and 1–100 strategy units. The ten-year range limit bounds the request.
- The model validates positive finite closes, sorts dates and rejects duplicate dates. Entries are spaced by at least 7 or 14 calendar days, or by the first available day at the next calendar-month threshold. It does not guarantee the same weekday or monthly date.
- At an entry close, the model calculates the sample standard deviation of the preceding 30 log returns, using 31 closes strictly before the entry date, multiplied by √252. A missing warm-up window is skipped. Zero estimated volatility remains zero; no arbitrary fallback is inserted. A stale window (last close over seven days old or first close over 90 days old) or an annualized estimate above 1,000% is skipped as a data/model bound.
- Each synthetic strike equals the entry close plus the preset’s dollar offset. It is not rounded to an exchange-listed strike. Option prices use European Black-Scholes, zero rates and dividends, and the entry volatility estimate. The same volatility is retained at exit.
- The exit is the first returned close at or after the 30-day horizon, within seven calendar days and no later than your end date. If no eligible close exists, the entry is skipped. The trade log shows actual selected dates and prices.
Stock legs and calendar time value matter
A covered call includes a long stock position and a short call; a protective put includes long stock and a long put. Both presets purchase 100 shares per strategy unit at entry and include the stock’s value change at exit. Ignoring that stock leg would turn the covered-call calculation into an uncovered call result. Stock financing, distributions and early assignment are still excluded.
The calendar template sells a 30-day call and buys a 60-day call at one synthetic strike. It closes both at the near-term horizon: the short leg is valued intrinsically and the longer leg is repriced with its remaining days. For example, at an unchanged $100 stock price and 20% volatility, a 60-day call still has model time value after 30 days. Treating both legs as expired would erase the longer call’s remaining value.
The other templates are long call, long put, bull call spread, bear put spread, iron condor, iron butterfly, long straddle, long strangle and call butterfly. Their preset offsets and option quantities are displayed before running. All use one 100-share multiplier per contract. A preset with a nonpositive synthetic strike at a low stock price is skipped.
Statistics describe the model, not a funded account
Total P&L sums completed modeled positions. Positive-result rate counts results above zero; average loss includes negative results only. Profit factor divides summed positive results by the absolute summed negative results; an infinite value means the sample had gains and no losses, not an infinitely profitable strategy. There is no quality threshold such as “50% is good” or “1.5 is strong.”
Closed-P&L drawdown is the largest dollar decline from the cumulative closed-result peak, including the starting zero. Results are ordered by exit date. This is not mark-to-market account drawdown: open trades, cash, margin, deposits and liquidation are not modeled. Overlapping entries can consume simultaneous capital. The page therefore omits a percentage account return and Sharpe ratio rather than annualizing dollar trade outcomes.
Use the results to inspect assumptions
Realized volatility is a backward-looking stock statistic, not historical implied volatility. A constant proxy misses the volatility risk premium, skew and term structure. The model also excludes bid/ask spreads, commissions, slippage, taxes, dividends, borrow costs, early exercise, assignment, delistings and the liquidity of real contracts. Returned provider closes may be revised or adjusted; no contract-level corporate-action reconstruction is performed. Inspect date coverage and skipped counts before comparing runs.
References: OIC pricing-model limitations, covered-call stock exposure, and calendar spreads. This is an educational model, not investment advice or proof of past executable performance.