NOTE: In NeuroShell Trader, open the chart named “Example 16 – Input Selection” which is the basis for following example:
In this example we selected some computer stocks. We hypothesized that indicators based on some chip makers might be good inputs to a neural net to predict the computer stocks. The chip makers were entered by “Inserting other instrument data”. Then we inserted a prediction using some indicators from the category Price Momentum Indicators. We have always found that category to contain some pretty predictive indicators. Note that there were indicators based upon the close of the computer stock being predicted, as well as the same indicators based upon the chip makers.
Next we selected the “Input selection” optimization. We wanted the optimizer to find which of our inputs were most predictive (if we wanted to vary the indicator parameters at the same time we could have used Full Optimization). In order to help prevent over-fitting, we specified that we wanted no more than 4 inputs maximum. You can see which inputs the optimizer selected from the “Training Results” dialog at the end of the Prediction Wizard. Select the stock you want, and press Prediction Analysis -> Input Contributions. If the input was thrown out by the optimizer, there is a blank space where the contribution factor should be.
This might be a good time to discuss an optimization issue that can occur. Often when optimization is applied to models, the resulting trading activity may not be to your liking in that the model may trade too often or too little. The optimizer is doing what it is told to do, but there are ways to penalize the optimizer for trading too much or too little. One way can be found on the Optimization tab under “Trading Strategy Parameters” (or Prediction Parameters if you are optimizing a neural network). There you can set your desired shortest and longest average trade span. These settings are not absolute commands to the optimizer; they are more like requests, which the optimizer will honor if it can without sacrificing too much of the objective (profit, etc.).
There is a much more effective way however. That is just to increase commission costs if there is too much trading, and decrease them if there is too little. It doesn’t really matter that those may not be the costs you actually pay as long as they are reasonable, because our goal is to get buy signals in the valleys and sell signals at the peaks. Whether or not we realistically represent actual profit is not nearly as important. The whole process of predicting the market is an estimation task anyway, and you shouldn’t be worried about great accuracy or precision.