Options Theory: Baby Got Back(Testing) Part III: Execution
You selected a strategy and systematized it, and now you want to see how it would have performed.
First question, what’s your look back period?
You already know I think you should include bull, bear, and neutral market environments in the test. How far back you have to go to find it depends on your system and how frequently the signals are generated. If you enter a new trade every day, then you probably don’t need to go back five years as that would give you some 1,260 (252 x 5) transactions to sort through.
So why did I use five years for the Condors system? Well, because only one trade is generated a month. To get a decent sample size (60), I had to go back that far.
Second question, where do you get the data?
If you’re testing a stock trading system, then the answer is obvious! Use a chart, any chart. You can manually track the signals and jot down the buy/sell prices to follow your profit and loss. Here’s an example of a moving average crossover system:
If you’re trading options, then you need to be able to pull up the price quotes from the days you would have entered or exited the position. For that, you need historical data. There are numerous sources for this, but the one that I’ve always used is my broker (ThinkorSwim). They have two features called OnDemand and ThinkBack (available under the Analyze Tab).
Both features allow you to go back in time to see the pricing of options at various dates. The primary difference is that OnDemand will enable you to see intraday prices and ThinkBack only provides end of day pricing. I’ve always used ThinkBack personally because I’m more familiar with it, but I can see the advantage of being able to see the intraday price of an option to better gauge where I would have been filled at. How much of a benefit this is depends in large part what type of system you’re trying to backtest.
A comprehensive explanation of the ThinkBack feature is outside the scope of today’s article, but to provide you with enough to get started let me show you how to get started.
One: Go to the Analyze tab
Two: Select thinkBack
Three: Select the date you want to view options quotes for
Four: Build your trade using the options chain
Five: You will see your “Backtrade” displayed down here
Six: The P/L Open column will change as you modify the date so you can see how much money your position made over time.
Seven: Perhaps one of the coolest features is the P/L Graph shown at the bottom. Think of it as the equity curve for all of the trades you’re compiling throughout your backtest. It provides a sense of how much fluctuation you would have experienced in your system over time. Not to mention the overall profit or loss accumulated.
To organize your trades, I highly recommend using the Tackle Trading Journal. I use this for all my systems and absolutely love it for a couple of reasons. First, it automatically draws an equity curve so I can see the path my system followed over time. It allows me to visualize the blow-by-blow action of the fight. Additionally, I can view how many drawdowns I experienced over the test and just how severe they were.
Second, it calculates all the key metrics we need to assess the efficacy of the system. Here are the top ones: # of winning trades, # of losing trades (from these two metrics you calculate percent profitable), average profit on winning trades, average loss on losing trade, total gain/loss for the system, longest losing streak, largest winning trade, largest losing trade, max adverse excursion (basically the largest drawdown experienced over the testing period).
I customized the numbers a little bit when I backtested the Condors for Cash Flow system and organized them by year. My final spreadsheet that pulled everything together looked like this:
In closing, allow me to address a few questions I received that weren’t answered in this series so far.
Q: What do I do after having backtested a system and found it to be profitable?
I suggest moving into the paper trading stage. Consider this your forward testing. The goal is to make sure you can execute the system in a live environment to see if it still works and make sure you’re comfortable with the order entry and management process in real time. Once you’ve paper traded successfully, then move into live trading. If you want to be conservative, then start with a small size first before working your way up to normal.
Q: What are some of the potential hiccups to be aware of when using a new system that you have backtested but not yet forward tested?
Fill rates. When you backtest, you assume you would have been able to get your orders filled when needed. But in a live environment sometimes that can be tricky, particularly if you’re dealing with an illiquid option. You may have to modify your order multiple times by changing the price before you are filled. This adds a bit of stress and time to implement the system.
Q: Can you backtest hedging tactics?
Yes. You can backtest anything provided you’ve specified the rules for entry and exit. Depending on how often you end up hedging this will increase the complexity of the backtest and the number of trades you’ll need to track.
If you’ve made it this far, you deserve a reward! Here are two recent Cash Flow clubs I taught about all things backtesting (for pro members only):