Genetic programming involves telling a computer system what needs to be done, without telling it how to do it. It is part of the field of evolutionary computation begun in the late 1970s, in which programs were developed via simulation of the natural processes of selection, mutation and reproduction.
Evolutionary computation depends on a better-than-random process of combining algorithm and program elements to arrive at the ‘unjustified step’, or the flash of insight that marks all true human invention.
SSgA portfolio managers work with the advanced research team to determine which investment factors to include in what Foley calls the “factor soup” from which all evolution proceeds. In the case of genetically programming the US stock selection model, for example, various accounting, growth, value and momentum factors were included in the soup. The measure of fitness for programs in each generation is a weighted combination of return and information ratio, details of which Foley refused to comment. SSgA then finds the optimal solution when the average fitness of new populations and the highest fitness members of the population no longer improve, but tend to converge.
While the most prevalent technique used by portfolio managers, some market observers have questioned the value of factor techniques, even with the added sophistication of genetic programming for optimisation. The concern stems from the inherent instability of the financial market environment. There is a danger that when factors influencing financial markets rapidly change, as happened at the end of the 1990s technology bubble, factor-driven portfolio models may fail to pick up the new influences.
Foley’s team has invested the equivalent of five person years into the project, and has been running the evolutionary processes on a Unix system, often overnight. Foley said the processing expense is significant, but networking even 10 high-power desktops could generate good results.