Neural networks and genetic algorithms are among the most important topics in algorithmic trading and drive much of the research and allocation of computing resources of hedge funds today. Equametrics recently posted two great articles to explain neural networks and genetic algorithms, and their application to trading. Why are they important for the rest of us to know about?
Neural Networks are considered as a powerful tool for discovering patterns. It was a term that traditionally used to refer to a network of biological neurons. This technique brought the attention of Wall Street in late 1990s due to its excellent ability of finding nonlinear relationships between any combination of market data, technical indicators, and fundamental factors.
This is one of the popular methods used by quantitative traders (quants) to make trading decisions and design models. There is another type of machine learning that can detect relationships between data series called support vector machine learning. Neural networks and support vector machines share several characteristics, but please read this Stack Overflow article for an exploration of the differences, and here is an article by Futures Magazine giving an example of building an SVM.
I personally don’t use neural networks to trade because I feel that I’m not equipped to compete in the arms race (i.e. using co-located supercomputers programmed by math-PhD quants), but it’s nevertheless an interesting concept to know about.
As far as genetic algorithms, Equametrics explains their relevance as:
Genetic Algorithm is basically an optimization method to find out the suitable combinations of parameters, strategy rules, portfolio allocation weights, and more. It is an alternative optimization method to standard optimization. The Genetic Algorithm mimics the process of natural selection and survival of the fittest. It is particularly valuable if the number of tests of different combinations is too large that other search methods are impractical to be implemented in real world trading.
My primary exposure to genetic algorithm optimization is the Solver function in Excel, which I stumbled onto when trying to optimize a particularly difficult model. The Evolutionary method is a type of genetic optimization.
Genetic algorithmic optimization is the best way to optimize parameters for what are termed non-linear, non-smooth problems (Frontline‘s explanation of genetic optimization may help, and they also explain a concise way to tell if your problem in Excel is likely to be non-linear and non-smooth).
If you are mathematically inclined and would like to read more about Genetic Algorithms, CSS Analytics has recently posted a series of articles exploring genetic algorithm optimization and some alternatives. The visual representations that David Varadi has posted help bring the concept alive.
The Mighty (but humble) Micro-Genetic Algorithm (mGA)
Micro Genetic Algorithm Schematic
Mating and Uniform Crossover
Social Learning Algorithms: Particle Swarm Optimization (PSO)
The Jack Welch PSO Algorithm (JW-PSO)