# Are there any good tools for back testing options strategies?

There are all kinds of tools for backtesting linear instruments (like stocks or stock indices). It is a completely different story when it comes to option strategies. Most of the tools used are bespoke software not publicly available. Part of the reason for that seems to be the higher complexity involved, the deluge of data you need (option chains) and the (non-)availability of historical implied vola data.

Anyway, my question:
Are there any good, usable tools for backtesting option strategies (or add-ons for standard packages or online-services or whatever). Please also provide infos on price and quality of the products if possible.

P.S.: An idea to get to grips with the above challenges would be a tool which uses Black-Scholes - but with historical vola data (e.g. VIX which is publicly available).

• Is there any automated software for backtesting complex option spreads, like collars / iron condors / butterflies? For instance, I would like to backtest the 10-year historical performance of entering a collar whenever the 50 day MVG crosses above the 200 day MVG and rolling the short call whenever the underlying stock crosses above the short strike. I looked at the other tools above and 1) they either didn't support the option strategies I want or 2) they would require me to manually enter and exit the positions. The latter is just too time consuming.
– user7587
Mar 19, 2014 at 23:50
• I've been building a tool for back-testing option strategies at https://www.getvolatility.com. It will show you historical prices and back-tested payoffs for any option strategy. It also highlights opportunities which are cheap or expensive today after running statistical analysis on historical data. It has detailed historical implied volatility, skew, and surface charting. The historical data goes back about seven years and will go back farther soon. Oct 1, 2015 at 17:35

A few pointers:

• When I looked into this a few years ago, a good solution at the time was LIM's XMIM, which also has an S-Plus/Matlab interface. Whit Armstrong also provided an R package for this, although I don't know how complete it is. This provides both the data and the software for analysis.
• On the very high end (and expensive) side of the spectrum, OneTick and KDB are both being used for this purpose by professional money managers.
• Two tools used by the non-professional community are available from brokers: https://www.thinkorswim.com/ or http://www.optionvue.com/.

Providing my 2 cents here, listing 3 free methods below:

• CBOE's method: No code here, just a "white paper", thus you can code it with whatever language you desire. I kinda like this the most (disregarding how far off this could be from the reality).
https://www.cboe.com/publish/micropdf/CBOE-SP500-Iron-Condor-CNDR-Methodology-Paper.pdf

• QuantConnect: I believe this is still free. The backtest uses actual historical options data (I believe this would be minute level option data). For language, you can code in either C# or Python. Example python code listed below. authored by Alex Muci.
https://www.quantconnect.com/forum/discussion/4478/delta-hedged-straddle/p1

• home-brewed naive backtesting script. Option prices are derived using Black-Scholes. Language Python. I like this the least, but this example shows you that you can cook up a back-tester with not too much code. Not sure how usefully the backtest result could provide though, given all the baked in assumptions. The one advantage with this home-brewed method, assuming the results do reflect the reality, is that backtest with 10-years of daily price data takes no more than 15 seconds.
https://github.com/pangyuteng/aigonewrong/blob/main/finance/basics/poor-persons-option-backtest-attempt-0.ipynb


There is one more solution available now to backtest option strategies: www.oscreener.com!

This tool allows to screen and backtest bull put spreads, long calls, short puts, debit spreads etc and validate these strategies in seconds.

Unlike backtesting stocks or futures, backtesting multi-legged option spreads does have its unique challenges.

One way to backtest your options strategies is to download historical option data (Market Data Express) and use a technical analysis Excel plugin (TA-Lib). You can then create an Excel spreadsheet to automatically enter / adjust your spread trades as certain technical conditions are hit.

A better way is to use an automated options backtesting software, such as (OptionStack). Using this tool, you can create rules to automatically enter and adjust your option spreads as market conditions change. In fact, you can backtest years of complex option spreads (collars, condors, etc..) in seconds.

However, this software is currently in beta and there appears to be a sign-up waiting list.

• Just wanted to add an alternative Excel technical analysis add-in: Tulip Cell It's free and open source. The one you mentioned costs money. Dec 19, 2016 at 22:25

There's nothing fundamentally different between options and cash instruments, so you really just need a backtesting platform that has good functionality for backtesting multiple instruments simultaneously with the same reference time frame.

I'm assuming that you're looking for something halfway between in terms of level of sophistication and cost required to upkeep. One such tool that comes to mind is Deltix.

eDeltaPro is an Options Backtesting Software, specifically designed for Options traders.

It has an easy-to-use user interface (no programming). Supports simple or complex multi-leg options strategies (straddles, Calendars, ratios, etc...). Has over 10 years of historical data and many symbols including Stocks, Indexes, and ETFs.

You can use rolls, stop loss, and other parameters. I tested a basic strategy and then performed adjustments to see if they improved the basic setup (they did).

I like testing any strategy before putting in actual money and see if they have performed in the past (many I tested did not work)

QuantyCarlo (quantycarlo.com) is a workbench for evaluation and optimization of option trading systems. It comes in several flavors, the most basic of which allows automated options backtesting. A free version is available with a limited number of end of day symbols. Other subscription plans offer more symbols and intraday data. QuantyCarlo Enterprise Edition exposes two programming APIs, offers Factorial Analysis, Applied Predictive Modeling (see http://www.amazon.com/Applied-Predictive-Modeling-Max-Kuhn/dp/1461468485), and cluster computing to efficiently generate the optimal parameters for a given strategy. This is also offered as a service to financial institutions by IOTA Technologies (www.iotatx.com), the maker of QuantyCarlo.

• Hi QuantifyThis, welcome to Quant.SE! Please disclose your affiliation, if any. Jun 27, 2015 at 7:11
• Hi Bob. I'm affiliated with Iota Technologies. Jun 29, 2015 at 3:34

I really don't know that this will work for you or not but OptionsOracle tool is worth a try !! This is the one of the best Stock options strategy trading analysis tool provided free . The code is accessible at SourceForge

• Also try this tool Jun 30, 2015 at 10:32

I know this is an older post, but I found a great tool that I use. It is http://www.key2options.com. They are an online backtesting analysis platform. They offer a 3 week free trial and will do a one on one demo with you to show you how it works.

I've been using a product called AlgoNET Explorer which is by the same people who created ONE (OptionNET Explorer). I've been backtesting multi-leg options strategies with adjustments in 5min intervals using wizards and C# (VB is also supported). Much faster than manual backtesting.

I found a lot of the libraries were quite lousy as for any good strategy the parameters need to be optimised to some degree and thus the portfolio might need to be "backtested" a number of times (really this isn't a backtest but more like "training")

This makes a lot of libraries totally useless when they take several hours for fitting parameters to a minute-by-minute algo-strategy.

# Speed

• Zorro trader is a bit awkward as I have a Linux machine and it is a Windows compiled C++ program. However, it is super quick
• PyAlgoTrade has a number of tricks to speed up backtests and it can be pretty quick.

# Flexibility

Both allow the use of arbitrary market input data. This allows you to create random stressed scenarios as well as use your own market data.

I published a blog post on how to backtest options strategies with R:
Backtesting Options Strategies with R

In the post, I provide the fully documented R code for your own experiments. The "trick" indeed is to use the often publicly available implied volatility as a proxy for option prices.

For details please consult the post.

ORATS offers a comprehensive scanning and backtesting tool.

• seems to be dead now Aug 4, 2021 at 15:40