Backtesting an options strategy means replaying your exact rules against years of historical options prices and seeing what would have happened. Not what should have happened in theory — what the chain actually paid you, trade by trade.
Backtesting a stock strategy needs one price series. Backtesting an options strategy needs the entire chain: every strike, every expiration, with bid and ask, for every trading day in your test window. That data is expensive and most free tools quietly work around not having it.
The usual shortcut is to price options with a model instead of using real quotes. Black-Scholes with a flat volatility input will happily tell you a strategy earns 40% a year. The real chain, with its skew and its spreads, often disagrees.
btoption runs on real end-of-day historical options data (ORATS), so the fills in your backtest come from prices that actually existed.
The full trade lifecycle, not just entries.
Most options P&L is decided by management: when you take profit, when you roll, when you cut the loss. A backtest that only scores entry signals tells you very little. Test the rules you would actually trade — “close at 50% of max profit”, “roll at 21 DTE”, “stop out at 2x credit”.
Several market regimes.
A short put strategy tested only on 2023–2024 looks like free money. Run the same rules through a drawdown and the picture changes. If your test window doesn’t include at least one ugly stretch, you haven’t tested the strategy — you’ve tested a bull market.
The whole distribution, not one number.
Annualized return on its own is bait. You want win rate, average win vs. average loss, max drawdown, and the equity curve. Two strategies with the same CAGR can feel completely different to hold through.
A guard against over-fitting.
If you tune delta, DTE and profit target until the curve looks perfect, you’ve fit the past, not found an edge. The honest check is out-of-sample: change one parameter at a time, rerun over a different window, and distrust any result that only works with one exact combination.
Define the rules
Pick a ticker, then set the legs exactly: short or long, call or put, strike by delta or offset, DTE, position size. Add management rules — profit target, stop, roll conditions.
Run it
The engine opens and manages every trade your rules produce across the historical window, using real chain data. Deterministic — same rules, same result, every time.
Read the results honestly
Equity curve, monthly returns, win rate, Sharpe, max drawdown, plus every individual trade. Look at the worst stretch first, not the headline return.
If you're new to this, start with the strategies people actually trade for income. We've written up what to test for each:
The wheel strategy →
Cash-secured puts into covered calls. The most popular income strategy on the internet — and the one with the most untested claims attached to it.
Covered calls →
Selling calls against stock you own. The interesting question isn’t whether it earns premium. It’s what it costs you in upside.
Iron condors →
Defined-risk premium selling. Small edges, big tail. Exactly the kind of strategy where management rules decide everything.
Test your rules before the market does.
Free, no account. Configure a strategy and get a full backtest — equity curve, drawdowns, every trade — in about a minute.
Start backtesting →