1 Development of Trading Strategies I have been a Chaos Hunter user since it first came out. My interest in CH was to try to learn new relationships about various data series. I was hoping to find a predictive relationship that would be generalizable to other data series. And I was optimistic that I would be able to find such a relationship using CH. The ideal result would be a simple formula that could be adapted to various securities in various time periods. Over the years I tried various approaches using various securities with mixed results. I found some promising formulas for individual securities, but I was not successful finding relationships that could be applied to other securities. Recently I tried a different approach with very different results. I started by opening a daily chart of SPY in NeuroShell starting at the beginning of I inserted three of my BMJ Software fractal filter indicators. I created three separate predictions for each of the three indicators. I used the default prediction of percent change in open 10 days in the future. And I optimized over all of the data from 1/1/1996 through 2/28/12. The idea was to find the parameters of my indicators that would be the best predicators of the data series. In other words they would, ideally, be fractal filtered versions of the data series. Next I exported the data from the chart to a csv file for import into CH. I exported open, high, low, close, volume. I also included my three indicators selecting the versions that were listed as inputs to the three predications. In this way I was using the versions of the indicators with the parameters that were selected by the predictions. I opened the csv file in CH and selected all available rows for optimizing. In the input section I selected open, high, low, close, volume, and my three indicators as inputs. I selected open to be used as output. On the optimization tab, I selected evolution strategy, and buy/sell cutoff with a threshold of +/- 10. I selected 300 shares with a commission per side of $8.00. I checked the boxes for Smooth Equity Curve and True reversal. On the Formula tab, I used the default setting for Formula parameters. I checked the box for Chaos Input and used an initial value of.618. In the operations section, I selected all of the Arithmetic operations and all of the Technical Indicators. For potential technical indicator time series, I selected the same open, high, low, close, volume, and my three indicators. When I optimized the model, the results progressed through some fairly simple arithmetic relationships and settled on a very simple calculation using one of the standard inputs and one of my indicators. The result was a very simple calculation based on a very simple relationship that I would never have thought of on my own. This produced a significant number of trades and a very smooth equity curve. When I inserted the formula in a NeuroShell chart, the results were very promising. However, I was more interested in using the power of NeuroShell to create a trading strategy that could be applied to multiple symbols. So I decided to create a new trading
2 strategy in NeuroShell based on the relationships identified by CH. CH creates one formula that s used for both long and short trades. I decided that the formula that CH created made the most sense for short trades. So I built a trading strategy in NeuroShell so that the long entry was based on conceptually similar but different inputs than the short entry. By developing a new trading strategy in NeuroShell, I was able to optimize all of the parameters, including the parameters of my fractal filter indicators. The results appeared to be more robust and generalizable than the results from the CH model. If this were true, I could apply this trading strategy to multiple symbols and optimize the parameters to tailor the model for individual symbols in NeuroShell. Based on my testing of the new trading strategy on various symbols, I was able to develop two additional versions of the trading strategy with slight modifications of the inputs. And then I combined the three versions into an ensemble trading strategy by averaging the results of the three versions. To test the results I created a new chart of daily bars of SPY going back to 1/1/1993. I optimized the ensemble trading strategy on the data from 1/1/1993 to 9/4/2004. And I held the data from 9/7/2004 through 3/16/2012 out of sample. The results were very good for both the optimization period and the out of sample period, beating the buy and hold by greater than 8 to 1 in the optimization period and greater than 14 to 1 in the out of sample period. The profit factor (ratio of gross profit/loss) was greater than 1.4 in both periods; the percent profitable was close to 60% in both periods and the ratio of average win to average loss was slightly better than I have since tested this trading strategy with multiple symbols from eminis to commodities to forex to individual stocks with similar results, in various time frames from daily to weekly to monthly bars as well as intraday. I have one chart with all 30 of the DJIA stocks and monthly bars with data back to 1/1/2004. I optimized 1/3, day traded 1/3, and left 1/3 out of sample. The results are reasonably good in all time frames, even though the shapes of the data series are somewhat different in each of the 3 time frames. I included an equity curve on the chart that is based on the Chart Page Sum of the Equity Curves of the individual symbols. The result (when I sum the equity curves for all 30 symbols together) is a very smooth equity curve in all three time periods. Not all of the securities were profitable in all 3 time frames, but in this case, the trading strategy takes advantage of the diversification of the symbols. The most profitable time frame is the one that includes the decline from 2007 through March of To try to be sure that the model is working in a fashion that is consistent with the original modeling accomplished by CH, I created 5 charts for 5 of the components of the DJIA AA, CVX, MRK, UTX, and DIS. I optimized for the period from 1/1/2004 through 2/28/2012 (the end point for the original NeuroShell and CH optimizations) and held the data from 3/1/2012 through 4/7/2012 out of sample. The results beat the buy and hold strategy by a substantial margin for all 5 symbols in both the optimization period and the out of sample period. I have translated the trading strategy to run in Tradestation as well as MultiCharts with similar results. In Tradestation, I used the inputs for the parameters that were determined
3 by the Neuroshell optimization. In MultiCharts, I used the built in genetic optimizer and obtained similar but better results. In live trading, I d use the parameters from Neuroshell in MultiCharts as well since the optimizer in MultiCharts does not have the same facility for dealing with out of sample results and I suspect it may tend to overfit more than Neuroshell. I also have a test system running the five eminis (DJIA, S&P 500, Nasdaq 100, Russell 2000, and S&P Midcap 400) using NeuroShell automated trading with an InteractiveBrokers simulated account. So far the results seem very promising. Example Charts are included in the sections below. My conclusion at this stage is that CH was able to find a relationship that I would never have dreamed of, a relationship that is repeatable in various time frames with various price patterns, and a relationship that is generalizable to various securities. And I was able to use the powerful features of NeuroShell to preprocess the data for CH and then to improve on and test the relationships that were suggested by CH by creating a sophisticated ensemble trading strategy in NeuroShell. Dennis Voigt BMJ Software
4 Example Chart Images: Here are some examples of results using the new trading strategies. SPY Daily Trading System This is a chart of the system equity based on the ensemble trading system. The system was optimized on the data from 1/1/1993 through 9/3/2004. The period from 9/4/2004 was held out of sample. The system trades 1,000 shares and assumes a commission of $1.30 per trade. The blue is the system equity for the trading system out of sample. And the red is the system equity for buy and hold for the same time period with the same number of shares and commissions.
5 Here s the first half of the detailed analysis:
6 Here s the second half of the detailed analysis: You will notice that the profit factor is a little better than 1.4, the percent profitable is around 56%, the ratio of average win/average loss is very close to 1, the largest win is greater than the largest loss, and the maximum drawdown is a little over $29,000.
7 Here s an example for the DIA using the same time frames, the same number of shares, and the same commissions. Similar to the previous example, the blue is the equity curve for the trading system out of sample and the red is for buy and hold.
8 Here s the first half of the detailed analysis:
9 And here s the second half of the detailed analysis: Note that the trade results are very similar to the results for the SPY. The profit factor is 1.35, the percentage profitable is a little over 55%, the ratio of average win/average loss is very close to 1, the largest win is greater than the largest loss, and the maximum drawdown is a little over $35,000.
10 Here s an example for the QQQ using the same time frames, the same number of shares, and the same commissions. Similar to the previous example, the blue is the equity curve for the trading system out of sample and the red is for buy and hold.
11 Here s the first half of the detailed analysis:
12 And here s the second half of the detailed analysis: Note that the trade results are again reasonably similar to the results for the SPY. The profit factor is 1.33, the percentage profitable is a little over 58%, the ratio of average win/average loss is just under but very close to 1, in this case the largest win is less than the largest loss, and the maximum drawdown is a little under $15,000. For each of the three previous examples, very little effort was invested in fine tuning the model. But the results are somewhat similar. A couple of points are worth noting: the systems have a significant number of trades, the average trade span is around 4 bars; each of the models has reasonably large drawdowns during the out of sample period; yet the final result is considerable better than a buy and hold strategy. Based on many years of testing, I believe it is very difficult to have returns of this magnitude without having drawdowns of some consequence. The best way to manage the drawdowns is with good money management and diversification of instruments traded. So I thought it might be interesting to see how the trading strategies held up with various stocks that are components of the Dow Jones Industrial Index. I tried the strategies on 5 of the stocks and again on 10 of the stocks, including 5 that had been identified as the worst performers of 2011 and 5 that had been identified as the best performers. The results were interesting. So I decided to add all 30 stocks as individual chart pages to a single chart. I analyzed the Average True Range for the 30 stocks and tried to determine a reasonable range for the input parameters to the trading systems. I selected monthly bars back to 2004 so that it wouldn t take days to
13 optimize. I set up the trading systems to optimize on one-third, paper trade on one-third, and held one-third of the data out of sample. I added system equity indicators for each of the trading strategies. And finally, I added the chartpage sum indicator to add up the system equities for all of the 30 stocks. I wanted to see how smooth the equity curve might be. Here s a screen shot of the results: This chart image shows the two trading strategies called basic and ensemble. This is the chart of VZ (Verizon). I put this one on the screen, so that you could see that some did not have particularly stellar results individually the system equity second from the bottom is the equity curve for VZ. The blue is the basic system and the green is the ensemble system. The bottom system equity is the sum of the equity curves for all 30 stocks. You can see that it is smoothed out quite a bit. I should point out that I did not take a lot of time to try to fine tune the models for these 30 stocks. And if I were to trade them live, I would build individual charts for each one so that I could fine tune the parameter inputs for
14 each stock. Since the primary input is related to the range of the price over a period of time, I use the Average True Range (ATR) too identify the range of the input parameters. The most robust models have narrow ranges that generally fall within the ranges of the ATR of the individual instrument. I feel confident that the performance of individual stocks could be improved quite a bit by fine tuning the parameter ranges of the inputs. But the point of this exercise was to see how a somewhat diversified group of stocks would perform based on a very simple modeling of the data using the two trading systems. The combined results were quite a bit smoother than the individual results. The models both performed quite well during the decline from 2007 through 2009 (which was the paper trading period) and lagged behind the buy and hold performance in the subsequent recovery (which was the out of sample period). Here s a look at some of the details for the basic trading system: And here s a look at some of the details for the ensemble trading system:
15 I also prepared a couple of charts with walk forward tests. Here s a monthly chart of QQQ with a walk forward test. The first trading strategy is optimized until October 2008 and the period from November 2008 is held out of sample. The second strategy is based on 4 walk forwards of 2 years each. This is a somewhat challenging example for the ensemble trading strategy because it s based on a limited number of bars and a bit of variability in the trading patterns.
16 Here s the details on the results of the first trading strategy: And here s the details on the results of the walk forward optimization: Each of the final three results walkforward 0 optimization, AVG optimization, and AVG trading exceeds the buy and hold return for the same period.
17 I also tried the trading strategies on some intraday charts. Here s some examples of the trading strategies on tick charts for NQ (the Nasdaq 100 emini futures contract) and ME (the IQFeed version of the emini Euro futures contract). The NQ is based on 500 ticks and the ME is based on 100 ticks. Here s the NQ: In this chart I prepared three versions of the ensemble trading strategy. The first is simply an optimization on the first third, paper trading on the second third, and out of sample for the final third. The second version of the ensemble trading strategy is a walkforward optimization. This is based on 5 walkforwards of 8 hours each. And the third trading strategy is the same as the second except the time is limited to the period between 9:30am and 3:55pm so this one would be eligible for the day trading margin requirements. All three of the trading strategies were based on one contract traded, margin of $2,500 per contract, and a multiplier of 20. I did not use the day trade margin of $1,000 on the third strategy so that it could be compared
18 with the second strategy. If using the day trading margin the return on account value would likely be quite a bit higher. Here s the details of the first strategy: Here s the details for the second strategy:
19 And here s the results for the third strategy: The results are similar but somewhat less for the third strategy compared to the second strategy. Of course, the return on account would be improved is we used the day trade margin of $1,000.
20 Here s the chart for the ME: In this 100 tick chart of the ME, the first ensemble trading strategy is optimized on the first third, paper traded on the second third, and out of sample on the final third. The second ensemble trading strategy is a walkforward optimization. The optimization is based on 5 walkforwards of 2 days each.
21 Here s the results for the first strategy: And here s the results for the second trading strategy:
22 In order to test the trading strategies further, I created versions of the trading strategies for Tradestation and for MultiCharts. Here s a daily chart of ES (the emini S&P 500 futures contract): This trading strategy is a version of the basic trading strategy converted to Tradestation. This strategy was optimized in Tradestation on data from 1/1/2004 with no data held out of sample. It was optimized on 3/13/12 and has been trading out of sample since then. I have had it trading live in this simulated account off and on since that time. It is currently off while I test other instruments and systems in this simulated account.
23 Here s the equity curve for this chart: Since this system was optimized with very little data held out of sample, this is a very idealized equity curve. I would expect this system might break down over time and need to be reoptimized. I had intended to optimize the system in NeuroShell and then enter the inputs into Tradestation, but it has been performing so well so far that I decided to let it run with the current inputs. And I was kind of interested to see how well this would hold up using Tradestation optimization. The ensemble trading system has too many inputs to optimize efficiently in Tradestation. So I would use NeuroShell for optimization of that system even if I chose to trade it in Tradestation.
24 And here s the performance results: The performance is a little bit better than I would expect if optimized in NeuroShell, which is why I m a little skeptical about how this will hold up long term.
25 Here s the MultiCharts version of the daily ES chart: I used the parameter inputs determined in Tradestation to run the trading strategy in MultiCharts. The results are similar even though this chart is using the data stream from esignal.
26 Here s the equity curve for this chart: The equity curve is also very similar to Tradestation.
27 And here s the performance summary: The results are very similar to the Tradestation version even though the Tradestation uses the Tradestation data stream and MultiCharts uses the esignal data stream.
28 Here s our Required Disclosures: SEC Disclosure: Past performance does not guarantee future performance, results or success. We do not promote any stocks or options of any kind on this site. The BMJ Fractal Analysis Indicator Set is an add-in to technical analysis software and is not investment advice. We do not promote stocks or options of any kind or nature for any company, we do not/have not received any compensation from any company whose stock symbol may appear on this site or in this document, and we have no financial interest in the outcome or investment in and of any trade recommendation generated by the system, discussed or mentioned herein. There is substantial risk of loss trading stocks, options, futures, Forex and/or derivatives, and you need to determine your own suitability to trade. There may be tax consequences for short term profits/loss on trades. Consult your tax advisor for details on this if applicable. We are not a broker or dealer. The Required "CFTC" Commodity Futures Trading Commission Disclaimer: ``These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.'' Hypothetical performance results have many inherent limitations, some of which are described below. No representation is being made that any account will or is likely to achieve profits or losses similar to those shown. In fact, there are frequently sharp differences between hypothetical performance results and the actual results subsequently achieved by any particular trading program. One of the limitations of hypothetical performance results is that they are generally prepared with the benefit of hindsight. In addition, hypothetical trading does not involve financial risk, and no hypothetical trading record can completely account for the impact of financial risk in actual trading, for example, the ability to withstand losses or to adhere to a particular trading program in spite of trading losses are material points which can also adversely affect actual trading results. There are numerous other factors related to the markets in general or to the implementation of any specific trading program which cannot be fully accounted for in the preparation of hypothetical performance results and all of which can adversely affect actual trading results.