How Steve Ward Configures ChaosHunter for Trading Models

Top  Previous  Next


Although ChaosHunter (CH) will run with virtually whatever you give it, you will get much better results if you use a little thought about how you set it up. I don't have a lock on the best of those thoughts, but I will tell the way I have evolved for setting CH up after several years of using it for trading models. You should consider what follows as suggestions from a long time user, not a "cook book" addition to the manual. Please do not become confused if any of my methods are contrary to other topics in this help file, because there are no absolutely "right" methods.
First let's make some definitions so I will be clear. There are two kinds of inputs you can load into CH from text files. The first kind are prices (open, high, low, close, and I will include volume). Let's call those "raw prices".
You can also feed in your favorite indicators (like RSI and stochastics, for example) that you create in NeuroShell Trader® Pro, TradeStation®, or whatever else you use. Let's call these "raw indicators" to distinguish them from the indicators that CH builds, which we will call "CH Indicators".
There is another kind of indicator you could feed into CH from NeuroShell (or whatever) that are very much like raw prices - things like moving averages, previous prices, high or low of the day, etc. They look like raw prices because they are in the same number range as raw prices, and they vary the same way. Therefore I consider these indicators to fall within my definition of "raw prices".
Now spreads and relative strengths between any of the above defined "raw prices" are real "raw indicators" in my definition scheme, just like a stochastic. I hope you aren't too confused yet.
Input Files, Inputs and Output
Every file I load into CH has at least one "raw price", the open, because we need that so that CH can use it as a fill price for generating trading signals and statistics. (I almost always use the CH mode of creating trading signals, and rarely try to use CH as a prediction device to predict, say, tomorrow's open.)
So on the CH tab where the inputs are chosen I never let "raw prices" be inputs. I only select "raw indicators" as inputs. I think it would be OK to select "raw prices" as inputs if you also select "scale inputs", but doing so scales the "raw indicators" too, which I prefer not to do. If I have no "raw indicators" in the file, it is perfectly OK with CH to not have any inputs selected on the Inputs tab. Don't use Date as an input.
So if I don't select "raw prices" as inputs, why do I load them? Well, the open, of course, is what is selected as the output. But I use the "raw prices" over in the Formula tab where it says "Select potential indicator time series". The "raw prices" will be what the "CH Indicators" use as parameters! You can also select "raw indicators" there if you feel "Ch Indicators" built on "raw indicators" are appropriate, but think that through carefully.
The Optimization Tab
I use Evolution strategy when I think I have a "big" or "hard" problem - lots of inputs or data or one that has resisted good solutions in the past. Otherwise I use swarm. I think another good strategy is to use Evolution for initial optimization, and then switch to swarm after Evolution fails to make new progress.
I use a population size of 300, and normally just default the random seed, unless I feel another try is needed after not getting good results, whereupon I use 776 or 337 for no particular reason. I never stop after N generations; I just let CH go until I decide I've had enough. By the way, I have no problem letting a hard problem run overnight, even on my 8 core I7 computer.
The Trading Strategy I use is buy/sell cutoff with threshold range of +-10.
When building FX models, I use 100,000 shares, for futures I use the point value, and for equities I use 100. I always select Smooth equity curve, long and short, and usually True Reversal.
For commissions, what I do varies, because this is the hardest part. I usually start with 2 dollars to generate the kind of frequent trading I like. But I do not hesitate to raise that to maybe 10 or more if trading is too frequent, or lower it down as low as 0.50 or so. I have sometimes gone to zero for really fast trading.
The Formula Tab
I use a Max equation size of 30, 15 Max constants, default Max same symbols to 3, Constant range +-10. Max lookback is usually 10, but no more than 20 for intraday models. For daily models, I think up to 50 is OK.
I usually include the Chaos Variable with an initial value of .777.
The operations I select are usually all the Arithmetic ones, and in Algebra only -x and 1/x. Sometimes for kicks I will include Sin and Cos in Trigonometry, but not often. In Neural I will usually include Neuron2 and Neuron3. I don't use Boolean, Relational, or Polynomials. Sometimes I include Min and Max in Statistical.
If I have lots of "raw indicators" in my file and selected them as inputs, I do not select any CH Technical Indicators. If I have few or no "raw indicators" in the file, then I use all EXCEPT the following CH indicators:
Min value, Max value, Simple moving average, Exponential moving average, and Lag.
Can you guess why I omit those CH Indicators? It is because they produce more "raw prices" when applied to "raw prices". You can't guarantee that the CH formulas will not leave them as "raw prices". So you could get a model that is based on absolute price levels, which is a bad idea.
I hope this will help some of our many new users.
Steve Ward


Related Topic:

Optimization Templates - describes how to use optimization templates that include the settings described in this topic.  There are separate templates for daily and intraday models.