Fact checked by Vikki Velasquez
What Are Genetic Algorithms?
Genetic algorithms are unique ways to solve complex problems by harnessing the power of nature. By applying these methods to predicting security prices, traders can optimize trading rules by identifying the best values to use for each parameter for a given security.
Key Takeaways
- Genetic algorithms are complex computer algorithms based on rules of genetics and evolutionary theory that have seen some success in securities trading.
- By applying these methods to predicting security prices, traders can optimize trading rules and create novel strategies.
- Several software packages allow individual traders to harness the power of genetic algorithms for trading.
Understanding Genetic Algorithms
Genetic algorithms (GAs) are problem-solving methods (or heuristics) that mimic the process of natural evolution. Unlike artificial neural networks (ANNs), designed to function like neurons in the brain, these algorithms utilize the concepts of natural selection to determine the best solution for a problem.
As a result, GAs are commonly used as optimizers that adjust parameters to minimize or maximize some feedback measure, which can then be used independently or in the construction of an ANN.
In the financial markets, genetic algorithms are most commonly used to find the best combination values of parameters in a trading rule, and they can be built into ANN models designed to pick stocks and identify trades.
Multiple studies have demonstrated the effectiveness of these methods, including “Improved Genetic Algorithm for Mobile Robot Path Planning in Static Environments” and “An Improved Hybrid Genetic Algorithm Using The Affine Combination-Based Reproduction.”
How Genetic Algorithms Work
Genetic algorithms are created mathematically using vectors, which are quantities that have direction and magnitude. Parameters for each trading rule are represented with a one-dimensional vector that can be thought of as a chromosome in genetic terms. Meanwhile, the values used in each parameter can be thought of as genes, which are then modified using natural selection.
For example, a trading rule may involve the use of parameters like moving average convergence divergence (MACD), an exponential moving average (EMA) and stochastics. A genetic algorithm would then input values into these parameters with the goal of maximizing net profit. Over time, small changes are introduced, and those that make a desirable impact are retained for the next generation.
There are three types of genetic operations that can then be performed:
- Crossovers represent the reproduction and crossover seen in biology, whereby a child takes on certain characteristics of its parents.
- Mutations represent biological mutation and are used to maintain genetic diversity from one generation of a population to the next by introducing random small changes.
- Selections are the stage at which individual genomes are chosen from a population for later breeding (recombination or crossover).
These three operations are then used in a five-step process:
- Initialize a random population, where each chromosome is n-length, with n being the number of parameters. That is, a random number of parameters are established with n elements each.
- Select the chromosomes, or parameters, that increase desirable results (presumably net profit).
- Apply mutation or crossover operators to the selected parents and generate an offspring.
- Recombine the offspring and the current population to form a new population with the selection operator.
- Repeat steps two to four.
Over time, this process will result in increasingly favorable chromosomes (or parameters) for use in a trading rule. The process is then terminated when stopping criteria are met, which can include running time, fitness, number of generations or other criteria.
Important
When using a genetic algorithm, it is important to carefully set the population size and the mutation and crossover rate. A small population size, or a high mutation rate, might prevent the algorithm from converging on an optimal solution.
Using Genetic Algorithms in Trading
While genetic algorithms are primarily used by institutional quantitative traders, individual traders can harness the power of genetic algorithms—without a degree in advanced mathematics—using several software packages on the market.
These solutions range from standalone software packages geared toward the financial markets to Microsoft Excel add-ons that can facilitate more hands-on analysis.
When using these applications, traders can define a set of parameters that are then optimized using a genetic algorithm and a set of historical data. Some applications can optimize which parameters are used and the values for them, while others are primarily focused on simply optimizing the values for a given set of parameters.
Curve fitting (i.e. overfitting), or designing a trading system around historical data rather than identifying repeatable behavior, represents a potential risk for traders using genetic algorithms. Any trading system using GAs should be forward-tested on paper before live usage.
Choosing parameters is an important part of the process, and traders should seek out parameters that correlate to changes in the price of a given security. For example, try out different indicators to see if any seem to correlate with major market turns.
How Are Genetic Algorithms Used in AI?
In the field of artificial intelligence, a genetic algorithm is a system of incremental problem solving that is modeled on the theories of Darwinian evolution. Instead of offering a single solution to the problem, a genetic algorithm builds and tests a number of potential solutions, and new solutions are built from the best-performing of these candidates. After many iterations, the algorithm produces a solution that is better than any of the initial candidate solutions.
What Are the Downsides of Genetic Algorithms?
While genetic algorithms can be used to solve complex problems, researchers should be careful to set the parameters in a way that the algorithm will find the best solution. An algorithm running with insufficient population size or mutation will not be able to find an optimal solution to the problem being tested. Moreover, genetic algorithms should not be used for analytical problems, which are better suited for traditional problem solving systems.
What Is the Difference Between a Genetic Algorithm and a Neural Net?
A genetic algorithm is a problem-solving heuristic based on natural selection, while a neural network is modeled on the workings of a human brain. Both can be used effectively to solve complex problems, and in some cases, can be effectively used together. The main difference is that genetic algorithms are suited for combing through a large search space for the best solution, while neural networks are better suited for pattern recognition.
The Bottom Line
In “A Random Walk Down Wall Street” (1973), Burton Malkiel suggested, “A blindfolded monkey throwing darts at a newspaper’s financial pages could select a portfolio that would do just as well as one carefully selected by experts.”
While evolution may have made man no more intelligent at picking stocks, Charles Darwin’s theory has proven to be effective when applied more directly. Although they can be used successfully, genetic algorithms are not the Holy Grail, and traders should be careful when they rely on computational tools to make investment decisions.