Option backtesting means replaying your rules on the price history of the options themselves, strike by strike and expiry by expiry, not just on the history of the underlying. The gap matters: an option's price also depends on time passing and on implied volatility, two things a price history of the underlying does not contain.
- Backtesting options is a data problem first, not a software problem.
- An option's price moves for three main reasons: the underlying, time, and implied volatility. Dividends and interest rates weigh less.
- A backtest that ignores implied volatility produces wrong results, not approximate ones.
- The journal remains the most reliable method: your real trades already contain what no reconstruction can recreate.
On a stock or a currency pair, a backtest needs a price series and a rule. On an option you also need to know what that specific contract was worth, at that strike, at that expiry, on that day. The data exists, but it is bulky and it is sold separately: it is not the history of the underlying.
That is why an options backtest so easily ends with results that look too good: the option price gets reconstructed from a model, and the model does not know the real spreads of the market. This article covers what is feasible, what is not, and where to start.
Why backtesting an option is not backtesting a stock
A stock price on a given date is a single number. The price of a call or put option, on the same date, depends on strike, expiry and direction. For one day and one underlying, there are as many prices as there are listed strikes and expiries, each with its own history. The Options Industry Council's page on options pricing lists six factors that affect the premium: underlying price, strike, time until expiration, implied volatility, dividends and the interest rate, the last two having a lesser effect.
Then there is time decay. The OIC page on theta presents it as how much an option's premium may decay per day, in theory, with all other pricing factors remaining the same, and adds that this decay is not linear: gradual at first, it accelerates as expiration approaches. A backtest that only tracks the underlying ignores that cost: an option-buying strategy will look better than it is, and a premium-selling strategy will lose the very thing that makes its result.
Third difference, implied volatility. According to the OIC page on vega, it tends to increase when there is uncertainty or anticipated news and to decrease in times of calm, and it can change without any movement in the underlying. The same page rates its effect on an option's price as probably second only to the underlying price in importance. A strategy tested without it misses that factor.
A calculation gives the order of magnitude. With the Black-Scholes formula, for a stock at 100, a 4% rate and no dividend, a 30-day call struck at 100 is worth about 4.73 when implied volatility is 40%. If it falls back to 30% and the stock has not moved, the same call is worth about 3.59, or 24% less. One more day without movement, at unchanged volatility, takes it from 4.73 to 4.65. A price history of the underlying shows, in all three cases, a stock sitting still at 100.
Those sensitivities can be measured: delta for price, theta for time, vega for implied volatility. The guide to the option Greeks takes them one by one on a worked example.
What you actually need to backtest an options strategy
In the United States, this data has a common origin. According to the website of OPRA, the Options Price Reporting Authority, that body disseminates consolidated last sale and quotation information from the options exchanges approved by the SEC, along with the number of contracts traded and open interest. The histories you can buy derive from it. Cboe, for instance, describes in the product page of its 'Option EOD Summary' data set a daily file taken from the OPRA feed: two snapshots a day, one at 15:45 New York time and one at the close, with the best bid and best ask of every option series, then open, high, low and closing prices, volume and open interest. The history starts in January 2012, implied volatility and Greeks are an additional purchase, and options on futures and non-U.S. markets are not covered.
| Data needed | Why | How hard to get |
|---|---|---|
| Complete historical chains | To know the price of the exact strike | High, sold by data vendors |
| Implied volatility per strike | Price moves without the underlying | High, sometimes an add-on |
| Bid and ask prices | The real cost of entry and exit | High, often as snapshots |
| Volume and open interest | To know whether the contract really traded | Medium |
| Dividends and corporate actions | Dividends weigh on the premium, a stock split adjusts the contract | Medium |
The bid-ask spread is the item that is easiest to overlook. Assuming execution at the mid price is the most favourable hypothesis: it amounts to saying you never paid the spread. The measured reality is more nuanced. In the study by Muravyev and Pearson published in 2020 in the Review of Financial Studies, conventional estimates of the cost of taking liquidity in options markets are large, but traders who time their executions pay less than 40% of those estimates, and the overall average effective spread is one-quarter smaller than conventional measures. So neither the mid price nor the full quoted spread describes your execution: an honest backtest runs both and checks whether the strategy survives the harsher one.
A price recomputed by a model is not a market price
Without historical chains, the temptation is to recompute each option price with the Black-Scholes formula from the underlying price. The scientific background to the 1997 Sveriges Riksbank Prize in Economic Sciences notes that all the parameters of the formula can be observed except volatility, which has to be estimated, and that several of the original assumptions, which it calls somewhat restrictive, have since been relaxed: varying interest rates and volatility, price jumps, transaction costs. The OIC page on the Black-Scholes formula adds that American-style equity options are typically priced using a binomial model because of the early exercise feature, and that market forces determine actual premiums, not formulas, no matter how sophisticated.
The most visible flaw concerns volatility. A reconstructed backtest that applies a single volatility to every strike departs from what the market shows: the research note by Emanuel Derman and Iraj Kani, 'The Volatility Smile and Its Implied Tree', published by Goldman Sachs in 1994, observes on S&P 500 index options that implied volatility falls as the strike level increases, and that out-of-the-money puts trade at higher implied volatilities than out-of-the-money calls.
Take a bear put spread, which the OIC page on the bear put spread defines as buying one put and writing another put with the same expiration at a lower strike, to offset part of the upfront cost: the maximum loss is the net premium paid, the maximum gain the difference between the two strikes minus that premium. Stock at 100, long the 100 put, short the 95 put, 30 days, a 4% rate, no dividend. With a single volatility of 30%, Black-Scholes gives 3.26 for the 100 put and 1.33 for the 95 put: the spread costs 1.93 and can make 3.07 at best. If the 95 put actually trades at 35% implied volatility, it is worth 1.80: the spread costs 1.46 and can make 3.54. Between the two calculations the outlay changes by 0.47 per share, or 47 per 100-share contract, while the underlying price is the same.
Now add the spread. Suppose, as an assumption, that each put is quoted 0.10 wide between bid and ask. Buying one at the ask and selling the other at the bid costs 0.10 more than the mid, and as much again to exit: 0.20 per share round trip, or 20 per contract, close to 14% of a 1.46 outlay. On an illiquid option, where the quote is wider, that share grows accordingly. This is a line of reasoning, not a measurement: the real spread is read in the data, strike by strike.
Early exercise, assignment, corporate actions: what price alone does not tell you
A price history does not tell you what happens to a short position either. According to the OIC page on exercising options, the holder of an American-style option can exercise it at any time before expiration, so the writer may be assigned at any time. The clearing house assigns the notice at random to a brokerage firm, which then picks one of its customers who wrote that option, either at random or on a first-in-first-out basis. The page names two cases where early assignment should be expected: a call considerably in-the-money with a sizeable dividend approaching, and a put deep in-the-money. It adds that writers are sometimes assigned on options that expire exactly at-the-money or even out-of-the-money, and that this is usually not predictable. A backtest that carries every short option to expiration assumes none of those cases occurred.
Corporate actions change the contracts themselves. The OIC's FAQ on splits, mergers and spinoffs gives the example of a 2-for-1 split: with the stock at 45 and a 50 call, the stock goes to 22.50, the strike to 25, and the number of contracts doubles. In a reverse split, it is typically the number of shares deliverable per contract that changes, not the strike. The decision belongs to a panel made up of representatives of the options exchanges and one representative of the clearing house, and every adjustment is determined case by case. In a history, an adjusted contract looks like a pricing anomaly if the data set does not flag the adjustment: one more question to ask the vendor.
The three workable paths
The first is to buy the data and use a specialised tool. It is the most complete and most expensive route, and it requires knowing precisely which question you are asking, otherwise you pay to explore.
The second is forward testing: running the strategy live, at minimum size, over several months. It is slow, but it is the only test that automatically includes every factor, spreads and your own execution included. The distinction between backtesting and forward testing applies across all markets, not just options.
The third is to journal rigorously the options trades you already place, recording the strike, the expiry, the implied volatility at entry and the reason for the choice. After a few months you hold a genuine dataset, small but true, where a reconstructed backtest is vast but wrong.
Options backtesting software, and what free really covers
Any options backtesting software runs into the same constraint, whatever its interface: it is only as good as the chain data behind it. So the first question to ask it is not what its charts look like, it is where its historical prices come from and how far back they go, strike by strike.
Free tools exist, with real limits that are worth knowing before you spend a weekend on one. A free offer may be limited to a handful of very liquid underlyings, to a short window, or to mid prices rather than bid and ask. That is enough to check that an idea is not absurd, and not enough to judge whether it makes money. Any free tool that promises more deserves the questions in the table below.
A tool's documentation says what it simulates, and that is what to read first. For example, the thinkorswim platform manual, in its thinkBack section, describes a tool designed for option back-testing that stores nearly a decade of historical option data: you select an underlying and a past date, the option chain for that date opens, you enter a hypothetical trade by clicking in the Ask or Bid column, then you follow its profit and loss date by date. The manual states that the results are hypothetical and that there is no guarantee the same strategy implemented today would produce similar results. This is an example of documentation, not a recommendation: the questions in the table below apply to any tool.
| Question to ask | Good answer | Warning sign |
|---|---|---|
| Where does the chain data come from? | A named historical provider | Prices computed by a model |
| Does it include bid and ask? | Yes, historical spreads | Mid price only |
| How far back does it go? | Several years, expiry by expiry | A few months |
| Can I export the results? | Open format | Screenshots only |
The honest tools state these limits up front. It is also worth knowing that a paid dataset does not remove the need for forward testing: it removes the data problem, not the overfitting problem, and those are two different failures.
The mistake that invalidates most option backtests
It has a name: parameter overfitting. An options strategy has more settings than a directional one, since you choose the strike, the expiry, the entry timing and the exit rule. And the number of trials matters as much as the setting you keep: in the article by Bailey, Borwein, López de Prado and Zhu published in 2014 in the Notices of the American Mathematical Society, trying only seven independent configurations of a strategy with no edge, on a two-year backtest, is enough for the best one to show an expected in-sample Sharpe ratio of 1, while its expected out-of-sample Sharpe ratio is 0. The authors' calculation is not about options in particular, but four settings with three values each already make 81 combinations to try.
The remedy is the same as everywhere: hold back a period the optimisation never saw, and apply only the final setting to it. If the result collapses there, it was not a strategy, it was a fit to history. The same authors warn that this precaution says nothing about the number of variants tried before choosing: write them all down, including the ones you drop. That principle is covered in our article on backtesting without fooling yourself.
What Tradoshi does for options traders
Tradoshi takes options through the third path, the one built on genuine data. The tool imports your real options positions from the brokers that support them, journals them with their strike and expiry, and analyses them like the rest: by instrument, by time of day, by size, with their maximum excursions. For an options trader that is the only angle resting on their own decisions rather than on a reconstructed past.
The backtesting module replays candles of the underlying with simulated execution, fees and carry costs configurable per session. That is what you need to test a directional logic, the scenario that decides to buy a call or a put. The price of the option itself, at that strike and expiry, comes from a historical option chain, and that is a market constraint more than a vendor one: those datasets are bulky and sold by specialised data vendors.
Frequently asked questions
How to backtest options strategies without paid data?
You can check that an idea is not absurd on a free dataset covering liquid underlyings, then move to forward testing at minimum size. What you cannot do is judge profitability that way: without historical bid and ask prices, the result is flattering by construction.
How to backtest an options strategy?
You need complete historical option chains, with the price of each strike, the matching implied volatility and ideally the bid-ask spread. Without that data a backtest reconstructs prices from a model and produces wrong results. Failing that, forward testing at minimum size and rigorous journaling remain the two reliable methods.
Can you backtest options for free?
Only partly. A free offer may cover very liquid underlyings over a short window, but complete chain histories are generally sold by data vendors. A free and honest approach is to journal your own options trades rather than reconstruct an approximate past.
Why does my option backtesting give such good results?
Three causes recur: execution assumed at the mid price when the bid-ask spread is real, time decay left out, and parameters optimised on the very period used to judge. Holding back a period the optimisation never saw, and counting the variants you tried, puts those results to the test.
Is implied volatility really essential?
Yes, for any strategy whose result depends on the premium level, which is nearly all of them. Implied volatility rises and falls without the underlying moving, notably ahead of anticipated news, and the Options Industry Council ranks its effect on an option's price just behind that of the underlying price.
What does Tradoshi do for options traders?
It imports your options positions from your broker, journals them with their strike and expiry, and analyses them like your other trades: by instrument, by time of day, by size, with their maximum excursions. On the backtesting side, the module replays candles of the underlying with simulated execution, which tests the directional logic behind the position. Simulating a full option chain, strike by strike, requires historical chain data, which is sold by specialised data vendors.
How long does it take to validate an options strategy?
There is no universal duration, but there is a criterion: enough positions that the result no longer depends on two or three trades. On weekly expiries that is counted in months; on long expiries, in years. Which is precisely why forward testing takes patience.
