Parallel Genetic Programming and its application to trading model induction Suchitra Goopy
Download ReportTranscript Parallel Genetic Programming and its application to trading model induction Suchitra Goopy
Parallel Genetic Programming and its application to trading model induction Suchitra Goopy What is a trading model? • Set of rules that catches the movement of the market and provides trading recommendations for financial assets. • Example of a trading rule: IF | I | > K Then G = Sign(I) Else G = 0 Trading model……..contd • Problem with optimizing trading models - overfitting • This can be solved by using robust indicators • Fitness Measure • No single indicator can represent the whole picture of the market Genetic algorithm for trading models • Multiple independent subpopulations are maintained and they interact u sing a ring topology • A Genetic Program can be regarded as a Lisp function and is usually represented using a parse tree • Each parse tree is created recursively starting from the root node • TerminalSet and FunctionSet Implementation Details • Has a ring topology • The code was written in C++ and uses PVM3 message passing library • The code was implemented on the IBM SP – 2 machine • It can be easily ported to other parallel machines like Cray T3D and on workstation clusters Crossover Parent 1 + a Parent 2 b - Crossover Point * / c Child 1 y - + x + 5 Child 2 a y z * / b + 5 z x c Mutation • Contrary to genetic algorithms, mutation is seldom used in genetic programming • The goal of mutation is to introduce diversity in a population • This diversity can be obtained using migration and hence there is no need for mutation Parallel implementation - Master • Create initial population • Distribute the fitness evaluation tasks to processing nodes • Execute local and external evaluation tasks • Receive fitness values sent by other processors or slaves • Migration • Perform selection phase • Perform reproduction phase Parallel implementation - Slave • • • • Receive a genetic program Calculate the fitness of the received program Send the fitness value to the source Master process Repeat the above steps until reception of termination signal Conclusion • Evolving multiple independent subpopulations with occasional migration between these subpopulations helps to deal with the premature convergence characteristic of genetic algorithms • This also helps explore the global search space and find better solutions