Optimization Results Previous  Top  Next

Imagine a 3-dimensional plane with hills, valleys, troughs, crests and peaks. Imagine further that this is a map of all of the fitness values obtained using all of the possible input combinations for your strategy. That map is known as a fitness landscape.

Fitness landscape - the theoretical set of fitness values for all possible input combinations.

This map in reality is not actually 3-dimensional, it is n-dimensional, where n equals the number of inputs you are optimizing, but it is easier to imagine in 3 dimensions.

A maximum on this plane would look like a hill, a mountain or a even a sharp peak, a minimum would look like a trough or a valley. Because strategy fitness landscapes can be very complex, there are usually many hills and valleys of varying heights and depths. There can even be rugged terrains composed of sharp cliffs, crevasses, spikes, holes, and cracks. A set of hills grouped together are called a set of local maximums. The highest point in the entire fitness landscape is called the global maximum. Naturally, this is the point you are seeking to discover, provided that the approach to the global maximum is smooth from all sides. The smoother your fitness landscape, the more predictably your strategy will perform in changing situations.

If the global maximum is a needle sharp peak, this is probably not the most desirable solution for the optimization, because a small change in the stock's action would probably cause a large change in the strategy's performance. Instead, the more desirable results are maximums that have smooth sides so that changes in the price action should have a better chance of resulting in a smooth drop in strategy performance.

Some elementary search algorithms are of the "hill climbing" variety; they modify the inputs in several directions to see which one detects a rise in fitness, and then they explore that direction, always seeking the higher ground until it starts to decline, and then they stop. If the terrain contains several hills, they usually explore only one of them and then stop, and may miss many better solutions to the problem. They can also discover and return a needle-like maximum as the solution if it exists, but the likelihood of finding it is very small because the feature itself covers only a small area of the landscape.

Genetic algorithms, like the ones used by Optimax, are much more advanced. They explore many areas simultaneously and can hone in on multiple maximums at the same time, arriving at multiple solutions to the same problem at once. They don't get stuck on local maximums like hill-climbing algorithms do, and are also unlikely to find needle-like maximums. Unlike hill-climbing algorithms, the terrain approaching a maximum is important too - in the mixing of genetic material Optimax explores many facets of the approach, and must arrive at many unique nearby solutions for there to be enough individuals in the population to survive, mate and pass on their genetic material to subsequent generations. If there are only a few individuals with sufficient fitness at a local maximum, they must mate with others, and in doing so they become weeded out as their genetic material is diluted with the material from other local maximums. In other words, it's not only survival of the fittest, but the smoothest as well. For this reason, solutions for a needle-like point on the landscape will not survive given at least one other maximum with a more gradual and smoother approach.

Theoretically, after enough generations have passed, the population will be entirely composed of individuals whose fitness values cluster around the global maximums on the fitness landscape. Whether all maximums are found depends upon the number of maximums to be found, the number of dimensions in the landscape (also known as the number of genes in the individual), the area of the landscape (also known as the number of possible permutations in the optimization) and the number of individuals in the first generation. The more complex the landscape, the more individuals you should have in the initial generation. One way of knowing if you have enough individuals in the initial generation is to run the optimization more than once. If each run produces different results, then the landscape is more complex than the diversity that is possible given the size of the initial population.