To: Jay Hartzok who wrote (121 ) 6/19/1998 1:57:00 PM From: Optim Respond to of 871
Jay, >I think I should have gotten more than just one accurate net from each. I guess it's back to the drawing board. NGO is a very different beast when compared to Neurostock. In order to extract anything useful from a neural net you need to consider two main things: 1) What am I going to predict? 2) How can I show the nets something useful to help it make a prediction. For example, I have been designing a net for Newbridge Networks (NN) that predicts the 3 day percent change in price, smoothed with a 3 day adaptive moving average. What this gives me is a nice little indicator that acts as an oscillator, moving above zero if price moves up, and below zero if it moves down. I project this out a day or two. I first test it in any TA package (I use Neuroshell Trader's Trading Strategies) by using tomorrow's close values in the system test. It worked out to about 350% APR after commisions and slippage. So I now know that I have a profitable target, which is very smooth in nature (helps the nets), and has a lower margin of error that forecasting the actual closing price. See if you predict the % change in tomorrows close instead of tomorrows closing price the you have a much smaller value. If the net is off by 20% of tomorrows close it is useless. 20% of a 50 dollar stock is 10 dollars, which is an enormous range of error. But if it is 20% off on the % change in close it still has value. If tomorrows % change is predicted to be 2%, then a 20% margin of error would give you a value of 1.6% to 2.4%. You still know that the net thinks it's an up day. This type of accuracy results simply by changing the way you look at the problem. This type of data transformation (aka preprocessing), or modifying the way data is look at also applies to inputs. For example, if you feed the net todays close on a 50 dollar stock, a move of 1 dollar would appear as a range of 2 percent. But by feeding it the percent change of the close it sees a much larger portion of the range in comparison to other days. This gives the net a smoother data set to look at (to help it pick out the patterns) and more importantly it 'detrends' your data. This is important as neural nets work best when your input moves up and down (or oscillates) frequently. A bull market stock (one that just goes straight up) might not work well with a net. But a trading stock, like INTC, CSCO or AMAT, would move around enough to make it all worthwhile. Pick a few good indicators, apply data transforms to help make the oscillations more obvious, and you're in business. If you haven't achieved great results with NGO try modifying the way your data is looked at. Instead of the close of related stocks, try adding the percent change in close. Or you could divide your predicted stock by the others to get a spread. This makes the inputs more 'normalized', and increases their predictive properties. You can also try changing what you predict. Try loading in the value of your favorite indicator, like momentum, and using it as the output. What you'll find is that the net suddenly has much more predictive value, and it isn't just dumping out a value close to yesterdays closing value. I know, it takes a bit more work, but the rewards are ten-fold... :) Optim