Option FanaticOptions, stock, futures, and system trading, backtesting, money management, and much more!

Trading System #1–SPY VIX (Part 2)

In http://www.optionfanatic.com/2012/09/28/trading-system-1-spy-vix-part-1/ (9/28/12), I introduced the concept of evolutionary operation and began to talk about the different variables present in this trading system.  Today I want to continue that discussion from the perspective of optimization.

Investopedia.com defines optimization as:

“…the process of adjusting one’s trading system in an attempt to make it more effective. These adjustments include changing the number of periods used in moving averages, changing the number of indicators used, or simply taking away what doesn’t work.”

In the system development process, optimization is going to allow me to look at performance metrics for every combination of specified parameter values.  In the present context, I will allow x to vary from 3-7 in increments of one [e.g. 3 (days), 4, 5, 6, or 7].  I will allow y to vary from 5-25 in increments of five [e.g. 5 (percent), 10, 15, 20, or 25].  I will allow z to vary from 6-15 in increments of one.  The result of this process will be summary statistics for 5 * 5 * 10 = 250 trading systems.

The goal of optimization is not to find out which set of parameter values performed the best in order to trade those going forward.  This is called “curve-fitting” and the reason optimization has gotten a bad name in some circles.  The more variables you have and the greater the number of total parameter value combinations, the more unlikely you are to see similar performance in the future as seen in the most profitable backtest.

Rather, the goal of optimization should be to assess the performance landscape from one combination of parameter values to the next.  Going back again to http://www.optionfanatic.com/2012/09/28/trading-system-1-spy-vix-part-1/ (9/28/12), I want to know if these performance graphs have spike regions or plateau regions.  If they have spikes then I will discard them, considering performance to be lucky rather than good.  If they have plateau regions then I want to choose parameter values near the middle of those plateaus (margin of safety).

In my next post I’ll start running the numbers.