USING SIMD GENETIC PROGRAMMING FOR FAULT-TOLERANT TRADING STRATEGIES
In this chapter we study the effects of representing a traditional portfolio optimization problem as a classification task in order to reduce the computational cost, and finding more reliable solutions. We use N-Version Genetic Programming to represent the market as a binary classification problem, and evolve two trading strategies that independently look for either buy, or sell, opportunities in parallel. The system is made more fault-tolerant using majority voting for the investment decisions. As inputs to our system we use a large number of instruments from technical analysis, which allows us to increase the execution speed over 100 times using a Sub-Machine-Code Genetic Programming system that evaluates 128 fitness cases in parallel. We see that the strategies generalize well and outperform the buy-and-hold strategy on simulated out-of-sample trading, so there is a clear connection between good classification results and returns on trading. We also see that the n-version voting system can successfully be used to reduce risk. Finally we see that some of the technical analysis instruments appear more frequently than others in the most successful strategies, which could be an indication on actual correlations to the future share price.