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)
----------
|