How to Backtest an Options Strategy
Learn how to backtest options strategies using historical data. Tools, methods, and how to interpret results for better trading decisions.
We're recording short 2-3 minute video explainers for every lesson. The full written guide is ready below. Bookmark this page — the video will appear right here when it's ready.
Why Backtest?
Backtesting lets you test a strategy against historical data to see how it would have performed. Instead of risking real money to discover if a strategy works, you can simulate thousands of trades and evaluate the results. It is the closest thing to a crystal ball in trading.
Step 1: Define Your Strategy Rules
Before you can test anything, you need clear rules:
- Entry criteria: What conditions trigger a new trade? (e.g., "Sell SPY iron condor at 45 DTE when IV rank is above 30")
- Strike selection: How do you pick strikes? (e.g., "16 delta short strikes, $5-wide wings")
- Position sizing: How many contracts per trade?
- Management rules: When do you close? (e.g., "Close at 50% profit or 21 DTE, whichever comes first. Close at 2x loss.")
- Frequency: How often do you enter trades?
Write these rules down explicitly. Vague rules cannot be backtested.
Step 2: Choose Your Backtesting Tool
Free options:
- OptionStrat backtest: Basic backtesting for common strategies. Good starting point.
- CBOE data: Historical options data you can analyze in a spreadsheet.
- thinkorswim OnDemand: Replay historical markets and place simulated trades. Built into the platform.
Paid options:
- OptionOmega: Dedicated options backtesting platform. Supports complex strategies.
- ORATS: Professional-grade historical options data and backtesting tools.
- SpintWig: Pre-built backtests for popular strategies on major ETFs.
DIY approach:
- Download historical options data (CBOE, OptionsDX, or historical price data)
- Build your backtest in Python or a spreadsheet
- Most flexible but requires programming skills
Step 3: Set Your Testing Parameters
- Time period: At least 3-5 years. Include both bull and bear markets. Testing only in a bull market will give misleadingly good results.
- Underlying: Start with one ticker (SPY is ideal — most data available).
- Number of trades: Aim for at least 100-200 trades for statistical significance.
- Market conditions: Make sure your period includes high IV and low IV environments, corrections, and recoveries.
Step 4: Run the Backtest
If using a platform:
- Input your strategy rules
- Select the time period
- Run the simulation
- Review the trade-by-trade results
If doing it manually on thinkorswim OnDemand:
- Set the date to 3-5 years ago
- Step forward day by day
- Enter trades when your criteria are met
- Manage and close trades according to your rules
- Record results in your spreadsheet
Step 5: Evaluate the Results
Key metrics to analyze:
- Total P&L: Did you make money overall?
- Win rate: What percentage of trades were profitable?
- Average win vs. average loss: Is your average win larger or smaller than your average loss?
- Profit factor: Total profits / total losses. Above 1.5 is good. Above 2.0 is excellent.
- Max drawdown: The largest peak-to-trough decline. Can you handle this psychologically and financially?
- Sharpe ratio: Risk-adjusted return. Higher is better.
- Worst month/quarter: How bad can it get?
Step 6: Stress Test
After the initial backtest, check:
- How did the strategy perform in March 2020? The COVID crash is the ultimate stress test.
- What about December 2018? A sharp correction.
- How about 2022? A bear market with rising rates.
If the strategy blows up during these periods, you need to adjust your rules or accept the risk.
Step 7: Avoid Common Backtesting Mistakes
- Overfitting: Tweaking parameters until the historical results look perfect. This does not predict future performance.
- Survivorship bias: Only testing on stocks that exist today and ignoring ones that went bankrupt.
- Ignoring slippage and commissions: Real fills are not always at the mid-price. Factor in $0.01-$0.05 slippage per leg plus commissions.
- Looking at only one metric: A 90% win rate means nothing if the 10% of losses wipe out all gains.
- Too short a time period: Testing over 6 months tells you nothing.
Summary
Define explicit strategy rules, choose a backtesting tool (thinkorswim OnDemand for free, OptionOmega or ORATS for paid), test over at least 3-5 years with 100+ trades, and evaluate using win rate, profit factor, and max drawdown. Stress test against major market events. Avoid overfitting and always account for slippage and commissions.
Ready to go deeper? Check out our free courses and strategy guides.
Free Courses Strategies Dictionary