Newsgroups: comp.ai.neural-nets
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!news.sei.cmu.edu!toads.pgh.pa.us!investor.pgh.pa.us!rbp
From: rbp@investor.pgh.pa.us (Bob Peirce #305)
Subject: Output data from a NN -- need advice
Message-ID: <1995Jan16.180430.12968@investor.pgh.pa.us>
Date: Mon, 16 Jan 95 18:04:30 GMT
Reply-To: me@venetia.pgh.pa.us
Organization: Cookson, Peirce & Co., Pittsburgh, PA
Lines: 58

Let it be know that I do not have a background in this area so if my
request is outrageous feel free to tell me where to go.

I build stock market timing models.  Until now I have used an iterative
technique.  Each indicator can be 1, 0 or -1 at the end of each month
and I loop through weights testing for the maximum return in a total
return stock index, along with the proportion of correct and wrong
decisions.  This is, as you can imagine, extremely time consuming and it
greatly limits the number of indicators that can go into a model, powers
of 2 and all that. 

About the only extraneous criteria I apply is that I do not want too
many or too few signals, generally about 1 every two years, and I want
the proportion of correct decisions to be fairly high.  I also calculate
different weights when an indicator is positive and when it is negative
to reflect that some indicators give better sell signals than buy and
vice versa.  This is a benefit in testing because I can optimize the buy
and sell sides separately anf the greatly cuts the number of iterations.

Lastly, the cumulative weight to produce a signal is based on the sum of
the individual weights and is not symmetric.  For example, a buy could
come at +1 and a sale at -3.  This may be significant to my problem but
I do not know.

I hadn't looked at NNs too long when I realized my input data, according
to the sources I have seen, may be ideal for this woork.  Apparently,
normalizing everything to a range of -1 to +1 is either required or
considered highly desirable.  However, I am coming up empty on how to
structure the output side for training.

I did the obvious thing.  The output is +1 when the market is advancing.
It is -1 when it is declining.  I try to get the input to predict the
output, and it does, to a certain extent.  However, it is not doing
anywhere near as well as the iterative technique.

The input consists of six indicators broken into 12 inputs -- 0,+1 on
the buy side and 0,-1 on the sell side.  The target output is +1 or -1
as above.  I tried hidden layers of 3 to 24 in steps of 3 and they are
all much closer to one another than they are to the output from my
iterative technique.

I think there may be two main differences between what I do and the NN
approach.  First, my iterative technique is actually calculating a
return while the NN technique is trying to predict a perfect situation. 
Of course, a perfect prediction WILL produce the highest return, by
definition, so I am very unsure of whether this is a problem or not.  A
greater concern is that my models, as I said above, can be unsymmetric
and I do not know if NNs will do that or how they do it.  Overall,
however, I am just hoping my explanation might lead someone to see that
I need to construct my target data in a different way to obtain the
desired results.
-- 
Bob Peirce                Pittsburgh, PA                 412-471-5320
rbp@investor.pgh.pa.us [OFFICE]    me@venetia.pgh.pa.us [HOME (NeXT)]

There is only one basic human right, the right to do as you damn well
please. And with it comes the only basic human duty, the duty to take
the consequences. -- P.J. O'Rourke
