[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GEN Neural Networks are not magic



PureBytes Links

Trading Reference Links

I have spent the last several years studying neural networks and their   
use in predicting prices and developing trading systems. This includes a   
couple of graduate courses at University of Washington, purchase of a   
commercial neural network package, several hand written programs, and   
subscription to a neural network trading service. For anyone interested,   
I thought I'd give you a quick summary of what I've found so far. The   
following is not mathematically rigorous.

1.  The typical neural network used in trading systems has nothing to do   
with simulating the way humans think. It doesn't adapt or learn on the   
fly. It simply computes a non-linear mathematical function of its inputs   
that produces a predicted output. The neat part is you don't have to know   
what function you need to compute, There are algorithms which find a   
function that fits a set of training examples that are given to it during   
a training phase. For those of you who hate curve fitting, neural   
networks aren't for you. That's exactly what they're intended to do.
2.  Neural network fitting algorithms can approximate non-linear and   
chaotic functions, and are tolerant to noise in the training and test   
data. This makes them suited to price series, since I think most traders   
believe that prices are chaotic functions with a noise component. Chaotic   
doesn't mean random - chaotic functions are completely deterministic. It   
typically means a function that is dependent on prior values of itself   
and is extremely sensitive to its initial value. I believe SP500 prices   
are chaotic with noise because I believe they are dependent on some of   
their prior prices and have noise. Typical chaotic functions can look   
random.
3.  Training a neural net involves optimizing a set of parameters (called   
weights) in order to generate a function which closely matches the   
training data. For those of you who shrink at the dreaded thought of   
over-optimization, neural nets may be the ultimate evil. A neural net   
that takes 5 inputs (say price, yesterdays price, price 2 days ago, price   
10 days ago, MACD), will typically have a minimum of 20 weights to   
optimize (maybe many more). How many of you like trading systems with 20   
optimized parameters? If you have 10 inputs, you might have 50 or more   
weights. A great deal of research in neural networks tries to address   
this problem. In the end, you train on a set of training data, which   
calculates the weights, then test on a different set of testing data   
using the previously calculated weights. The theory is, if it does well   
on the test data, that what you learned by "fitting" was the underlying   
mechanism of the market.
4.  One way to feel better about all this curve fitting is to have a good   
understanding of some reasonably advanced statistics. This is probably   
not a bad idea for trading systems developers of any kind. You need to   
know whether your results could have been achieved by chance or not. You   
need to know whether your system is still working if it has 5 straight   
losing trades. Remember, completely random coin tossing will usually get   
a run of 5 consecutive heads or tails 3 times during 100 tosses.
5.  Neural networks are not self designing! To create a neural network   
trading system you, the human, have to a) select a set of inputs, b)   
select a network architecture, c) decide how to initialize the weights,   
d) select a set of activation functions, e) select a learning algorithm,   
f) select an error function, g) decide how to pre-process the data, and   
h) decide how to use the output to generate buy/sell signals. Oh...first   
you have to spend the time to learn how to do all that. A number of   
people have tried to use genetic algorithms that randomly generate a   
whole bunch of different combinations of these things and then select out   
the ones which work bes
t. Talk about more optimization! It also takes a   
ton of time.
6.  Neural networks clearly work for some applications. They are used   
everyday in radar processing, chemical processing, optical character   
recognition, physics labs, etc. That is, in places where there is no   
question that they were able to learn an underlying mechanism from a set   
of examples. In some cases, neural networks have solved problems that had   
not been solved (at least in a reasonable amount of time) previously.   
They are also use very successfully in a variety of financial   
applications like credit scoring.
7.  On the other hand, most kids are pretty good at character   
recognition. I'm not sure whether financial forecasting is more like   
character recognition or more like radar processing. Humans are awfully   
good at certain types of pattern recognition and awfully bad at others.
8.  I bought Biocomp Systems Neurogenetic Optimizer (NGO) and their   
Profit add-on package (www.biocompsystems.com). NGO is a general purpose   
neural network development system. Profit is really still a work in   
progress, although it seems to demonstrate that it is possible to develop   
profitable neural network based trading systems. Good quality software,   
but I found that it was just a stop along my own personal journey. I   
wanted to try things that were not yet supported in the software  and I   
didn't want to wait. On the other hand, it's always nice to have a known   
good test system to verify some ideas. I think most traders would benefit   
from software like this if they're interested and willing to put in the   
work to understand how it works (not just its operation, but some theory   
behind it).
9.  I subscribed to Joseph Prewitt's TrendySystems   
(www.trendysystems.com) neural net based trading system. I've watched it   
since December 1997. It appears to just plain work as long as you are a   
short term trader (1-2 days per trade), can accept 15 point stops (SP),   
can accept being out of the market 2/3 of the time, and can accept not   
knowing why it's doing what it's doing. But, it's still a short track   
record in the best bull market of all time. I don't think I can stick to   
a system when I don't understand the details of how it works.
10.  I subscribe to the Journal of Computational Intelligence in Finance   
(formerly Neurovest Journal). Great journal, but not for the   
mathematically challenged. Need at least undergraduate level math and   
statistics. I have a math degree, but not a lot of formal statistics, and   
it's tough for me. Try on Generalized Autoregressive Conditional   
Heteroskedasticity for size.

Good Trading.

Lawrence E. Lewis (lel@xxxxxxxxxxxxxxxx)
Director of Engineering
Thrustmaster, Inc. (http://www.thrustmaster.com)


 ----------