>Are there any markets or asset classes besides thinly traded >issues for which neural nets would not work? Are NN used >best in trending as opposed to trading range markets? Is >the output fast enough for intraday trading?
I suppose there are a number of markets that artificial neural networks would fair poorly in. A better question would be where they work best. I think that if you stick to any liquid (very active) markets, such as large-cap stocks, S&P500 futures, and the more active commodities you would be okay. The trick is to be able to find some sort of patterns in the historical data that correspond with a price movement. If these patterns then repeat, you can assume that the price movement will occur too. This is why inputs to a net are so critical. I'd say about 90% of development time goes into picking the correct inputs.
A robust NN should work in all enviornments, including trending and choppy markets. Again the trick is to find patterns in all that data that lead to a predictable output. And you don't necessarily have to be able to 'see' these patterns as the NN software 'learns' these complex relationships amongst all the inputs. So all you really have to do is pre-process (formulate and massage) your data so as to supply some form of useable data. The net should take care of the rest. And the output can be fast enough to predict intraday data, although it would require some serious development time, and probably a good amount of number-crunching hardware. But it has been done... >How does fussy logic and genetic algorithms fall into the >world of neural nets?
Fuzzy logic is a method of generalizing. For example, instead of a trading rule that says:
If close today is 12.00 then go long.
A fuzzy statement would say:
If close today is greater than 12.00 go long.
Generally you will use fuzzy statements more often than not when dealing with data such as stock market data. Other than a few simple trading rules though, I haven't dealt with the more advanced fuzzy concepts, nor have I really needed to! :) A genetic algorithm (GA) is a method of encoding a problem into a simple mathematical equation, so that the GA software can then 'evolve' (or optimize) a problem. For example, if I have a moving average cross-over system, and I want to adjust the values of the indicators so that they yield the most profit, I could encode my problem so that my cromasome (the part that is maniplulated by the software) is the two moving average values. I then create a fitness function, which would basically say whichever pair of numbers yields the great profit is the best. Then I start the GA software, and it places random numbers in the indicators (the seed). It actually does a number of these all at once, creating a population (say 50) of these indicator combinations. It then selects the best few, and carries them over into the next generation (or the 50 random sets) so that the best combinations are constantly carried forward into subsequent generations. As these values are carried over, sometimes a 'cross-over' occurs. This means that 2 pairs of indicator values would exchange values so that a new and different combo exists. This 'breeds' the good pairs with the good pairs, hopefully yielding an even better pair. And then every few generations it also mutates (or changes the values) of a random cromasome (or single set). This is to introduce new combinations that might not otherwise occur. After a number of generations, all the combinations will look very similar, as they 'converge' to an optimal solution. Basically the few good solutions are repeated generation to generation, until they emerge as the best solution. This allows you to evaluate a hugh amount of combinations (like say 50-60 TA indicators, each with different values) until you have a good cobination that makes money most of the time.
Of course you also have to put some good thought into your fitness function, as the most profitable solution isn't always the best. Maybe the most profitable combo has a hugh drawdown. Or maybe isn't doesn't trade often enough for you. With a little thought it is usually easy to design a good fitness function. Of course, once you run the GA you'll probably come up with an even better idea... and so on...
>Also thanks for your well thought out answers to my last questions.
No problem. I want this thread to really take off, and I think that good posts and good questions such as yours will help do that! Have a Happy New Year, Optim |