Parallel Genetic Programming and its application to trading model induction Suchitra Goopy

Download Report

Transcript 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