July 2000 Newsletter

I. Granny Surfer Sale

While you’re riding the waves at the beach this summer, don’t “wipe out” and be sure to look out for Granny! She may be surfing too!

We want to make sure you don’t wipe out on the Wall Street waves either, so we’re going to make it easier for you to stay on TOP of the market waves with our newest, most flexible power tools! We’re having a two for the price of one sale on our NeuroShell Trader add-ons. From now until August 1, 2000, you can buy one Ward Systems Group add-on at the regular price of $249 and get another of your choice free. Better yet, buy two and get four! Stock up on add-ons now because you might not get a chance like this again for a long while. Remember the old market wisdom “Buy your straw hats in the fall” to which we add “Buy your NeuroShell Trader add-ons in the summer!”

For this sale we are even introducing a new Data Exchange API add-on, which will be available in mid-July. We are also now shipping a newly enhanced release of Adaptive Net Indicators, so there are plenty of add-ons to pick from for this sale (note that this sale applies only to add-ons produced by Ward Systems Group; this doesn’t include the Mesa and Wavefin add-ons, which are produced by other companies.)

Here are the add-ons included in the sale (see the add-ons sidebar of www.neuroshell.com for complete details):

1. Adaptive Net Indicators (ANI) – pattern recognition nets, now in Rel 2.0 with the ability to recognize patterns as humans do (see article about release 2.0 in this newsletter.)

2. Advanced Indicator Set 1 (AIS-1) – lots of indicators requested by users, including fractals, Hurst, chaos, non-linear regression, and moon phases (don’t laugh – any emergency room doctor or nurse will tell you the emergency room is busier when the moon is full!).

3. Neural Indicators (NI) – like the most popular backprop architectures we had in NeuroShell 2, except trained by the GA in the Trader or DayTrader Professional. Included are recurrent networks, which automatically “look back” (i.e., they consider recent trends as well as static conditions). The “Ward” nets even find the activation functions by GA.

4. Adaptive Turboprop 2 (AT2) – this is the same great algorithm that the Prediction Wizard contains, with the added ability to retrain itself automatically every so many bars! The optimizer can find the best training set size, and many other things too. This version acts like an indicator, so it can be optimized directly in the Trading Strategy Wizard.

5. Data Exchange API (DataX) – access Trader data streams from your Visual Basic programs. No need to have to write a DLL – this interface IS a DLL you can call from your programs to talk to the Trader, Trader Pro, or DayTrader. Many users have requested this ability to transfer their predictions or buy/sell signals to some other system they have working, including their own programs that send orders to their broker. Obviously, you must be a programmer or have one on staff to use this add-on! (See article in this newsletter for more information.)


II. New! Data Exchange API Add-on for Trader!

Now you can access Trader data streams from your Visual Basic programs or C or C++ programs. No need to have to write a DLL – this interface IS a DLL you can call from your programs to talk to the NeuroShell Trader, Trader Pro, or DayTrader. You can also use an ActiveX control instead of the DLL if you desire.

This new interface is called the Data Exchange API Add-On for the NeuroShell Trader (or “DataX”). Although DataX will work with the Trader and Trader Professional, it is not as useful for those systems as it is for the NeuroShell DayTrader Professional. That is because the data streams are only sent back and forth when the chart is updated. Updates take place with each new tick in the DayTrader.

In the Trader and Trader Pro, updates only occur when the DataX indicators are modified, new data is added or loaded, or when chart pages are inserted or removed. Therefore, transfers to and from DataX require a manual change in the Trader and Trader Pro to be initiated.

Many users have requested this ability to transfer their predictions or buy/sell signals to some other system they have working, including their own programs that send orders to their broker. Obviously, you must be a programmer or have one on staff to use this add-on!

The DataX provides functionality for fast and easy transfer of data streams between the NeuroShell Trader and the user’s external application. The DataX provides for the transfer of data streams in both directions: NeuroShell Trader -> user’s application and user’s application -> NeuroShell Trader. The basic technology used in DataX is the internal Windows virtual memory file system, which is invisible to the user.

The best candidate application of the DataX is a user-programmed intraday automated trading system which receives buy/sell signals from the NeuroShell DayTrader Professional and places corresponding trading orders based on those signals. However, it also can potentially be used in any system (both intraday and end-of-day) where data exchange is required between NeuroShell Trader and the user’s application. For example, you might want neural net predictions in your program.

DataX consists of the following basic components:

1. A regular Windows dynamic-link library (DLL), which may be called from the user’s application. It is called DataXapi.dll.

2. An ActiveX control wrapper around DataXapi.dll. The ActiveX control provides same functionality as DataXapi.dll.

3. Two custom indicators (PutData/GetData templates) to be used on the NeuroShell Trader chart to send/receive datastreams to/from the user’s application.

4. An example intraday (DayTrader) chart showing how to pass buy/sell signals out of the DayTrader to an external application.

5. Three examples (two in Visual Basic and one Visual C console application) showing how to receive buy/sell signals from the DayTrader. These examples work in conjunction with the example intraday chart described above.

The DataX costs $249 plus shipping and will be available in mid July 2000. It requires release 3.01 or greater of the NeuroShell Trader, Trader Professional, or DayTrader. However, note again that the DataX has limited usefulness except in the DayTrader.


III. Tips on Our Advanced Web Site

Our Advanced Users and Technical Support web site (www.ward.net) is where you can find our latest thoughts and techniques on modeling for the product you have purchased. Whenever we find a serious bug, we post it there too. If you aren’t checking this site every few weeks or so, you should be. The tip below is one of the ones we have recently added in the Predictor, Classifier, NeuroShell 2, and Trader tips sections:

Major Modeling Caution

Many of you are tempted to do what we’ve seen even seasoned modeling experts do. You train a net and then apply it to the out-of-sample data (production set in NeuroShell 2, evaluation data in NeuroShell Trader, verification data on NeuroShell Predictor and Classifier). It doesn’t work very well, so you change something in your network, and try again. That doesn’t work, so you try something else, etc. We’ve all done that, right?

Well, it’s very bad practice. If you make multiple training runs until you get something that works best on the out-of-sample data, you have just rendered the out-of-sample data set as in-sample, and the net you finally wind up with has to be tested once again (but only once) on NEW out-of-sample data before you can trust it! Why? Because you’ve essentially created a solution specifically for the out-of-sample set.

We see this most often with NeuroShell 2 users, because the older algorithms in NeuroShell 2 have so many parameters to “tweak”.

Here’s a true story. We saw a publicly traded company go out of business after they tried that with FDA on a medical application. They were supposed to build their net on data from one set of patients, and then when they were all done, apply the net to the out-of-sample patients ONCE and deliver the results to FDA. Instead, they kept trying different nets on the out-of-sample patients. The FDA nailed them for “unsealing” the out-of-sample patients, and the FDA was right to do so. The company was forced to do a completely new trial with new patient data. Wall Street reacted negatively to the bad news, and the stock price tumbled. The company was unable to obtain funding for the new trial, and they folded.

So what should you do? There’s no really great answer, but here are some suggestions:

1. NeuroShell 2 users should move up to the NeuroShell Predictor, Classifier, or Trader where there are not so many parameters that have to be tweaked to get a good net. NeuroShell 2 is mostly a tool for academics. The newer tools pretty much give you the best net the first time, although there are always issues of what inputs to use. The genetic method in the Predictor and Classifier, and the GA in the Trader Professional largely solves that problem, though.

2. If you have plenty of data, you can hold out two out-of-sample sets; one to experiment with, and one that you use only once at the end.

3. If you don’t have plenty of data, use the genetic method in the Predictor and Classifier, because it does a “one hold out” even while training. The fit isn’t as good on training as other nets, so most people erroneously reject these nets. However, generalization is usually better, meaning they do better on out-of-sample data.

4. In the NeuroShell Trader Professional, let the optimizer do the playing for you, and then just try once (ok, maybe twice) on the out-of-sample data. If that doesn’t work, move on to a new issue or at least different size training sets and different inputs.


IV. Adaptive Net Indicators, release 2.0

The way a human would typically do pattern matching on financial data is as follows: He or she would scan the price stream (close) looking for distinct movements. Then he or she would examine the pattern formed by the changes in close for some number of bars (let’s say 11) just prior to the distinct movements. If this human is pretty good at pattern recognition, he or she might even examine the changes in the open, high, and low of the preceding 11 bars as well as the change in close in those bars. The human is looking for what types of patterns in the prior 11 bars that foretell the distinct movement.

Once the human is satisfied that there is a high probability of the distinct movement following certain patterns, he or she can then watch for those patterns in the future. When the patterns appear, the human expects one of the distinct movements to follow and places orders appropriately.

The example above is the inspiration behind the enhancements to Adaptive Net Indicators (ANI) release 2.0. ANI do pattern matching already, but now new functions not only include the current bar in the inputs but a number of lags of the input as well.

Take the new function LagClassify1. It takes only one input, but you can specify how many lags of that input are also inputs. If you select 10, then today’s close and the 10 previous close values are all inputs to the net. Just as the human in the example looks for the important patterns in the future, so does LagClassify.

Suppose you select LagPredict4 and your inputs are open, high, low, and close. If you set your lag parameter to 20, then 20 lags of each of the open, high, low and close become inputs to the net as well as today’s open, high, low, and close.

There are eight new functions which have been added to release 2.0: LagPredict1, LagPredict2, LagPredict3, LagPredict4, LagClassify1, LagClassify2, LagClassify3, and LagClassify4.

Release 2.0 is now ready for shipping. If you are not familiar with Advanced Indicator Set 1, please see the “Addons” sidebar on www.neuroshell.com.

Release 2.0 will be emailed free to all requesting and currently registered users of Adaptive Net Indicators. Email your request, along with your name and serial number to sales@wardsystems.com. Other users may purchase it for $249 plus shipping.


Was this article helpful?

Related Articles