GP FOR ADAPTIVE MARKETS Jake Pacheco 6/11/2010. The Goal  Produce a system that can create novel quantitative trading strategies for the stock market.

Slides:



Advertisements
Similar presentations
Decision Tree under MapReduce Week 14 Part II. Decision Tree.
Advertisements

Evolving Driving Controllers using Genetic Programming Marc Ebner and Thorsten Tiede.
Regression. So far, we've been looking at classification problems, in which the y values are either 0 or 1. Now we'll briefly consider the case where.
Mechanics of Genetic Programming
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Learning to Advertise. Introduction Advertising on the Internet = $$$ –Especially search advertising and web page advertising Problem: –Selecting ads.
Evolutionary Algorithms Simon M. Lucas. The basic idea Initialise a random population of individuals repeat { evaluate select vary (e.g. mutate or crossover)
EA* A Hybrid Approach Robbie Hanson. What is it?  The A* algorithm, using an EA for the heuristic.  An efficient way of partitioning the search space.
Genetic Programming and the Predictive Power of Internet Message Traffic James D Thomas Katia Sycara.
Decision Trees (2). Numerical attributes Tests in nodes are of the form f i > constant.
Genetic Programming. Agenda What is Genetic Programming? Background/History. Why Genetic Programming? How Genetic Principles are Applied. Examples of.
Khaled Rasheed Computer Science Dept. University of Georgia
Genetic Programming on Program Traces as an Inference Engine for Probabilistic Languages Vita Batishcheva, Alexey Potapov
Evolutionary Intelligence
Efficient Model Selection for Support Vector Machines
Problems Premature Convergence Lack of genetic diversity Selection noise or variance Destructive effects of genetic operators Cloning Introns and Bloat.
Soft Computing Lecture 18 Foundations of genetic algorithms (GA). Using of GA.
Evolution Strategies Evolutionary Programming Genetic Programming Michael J. Watts
Improved Gene Expression Programming to Solve the Inverse Problem for Ordinary Differential Equations Kangshun Li Professor, Ph.D Professor, Ph.D College.
Lecture 8: 24/5/1435 Genetic Algorithms Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
1 Integration of Neural Network and Fuzzy system for Stock Price Prediction Student : Dah-Sheng Lee Professor: Hahn-Ming Lee Date:5 December 2003.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
Introduction to Evolutionary Algorithms Session 4 Jim Smith University of the West of England, UK May/June 2012.
Initial Population Generation Methods for population generation: Grow Full Ramped Half-and-Half Variety – Genetic Diversity.
1 Genetic Algorithms and Ant Colony Optimisation.
Genetic Algorithms Przemyslaw Pawluk CSE 6111 Advanced Algorithm Design and Analysis
MAE 552 Heuristic Optimization Instructor: John Eddy Lecture #12 2/20/02 Evolutionary Algorithms.
Project 2: Classification Using Genetic Programming Kim, MinHyeok Biointelligence laboratory Artificial.
Scientific notation. What is scientific notation?  Numbers are written in the form M × 10 ^n, Where the factor M is a number greater than or equal to.
Automated discovery in math Machine learning techniques (GP, ILP, etc.) have been successfully applied in science Machine learning techniques (GP, ILP,
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
GAIA (Genetic Algorithm Interface Architecture) Requirements Analysis Document (RAD) Version 1.0 Created By: Charles Hall Héctor Aybar William Grim Simone.
Genetic Search Algorithms Matt Herbster. Why Another Search?  Designed in the 1950s, heavily implemented under John Holland (1970s)  Genetic search.
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Genetic Programming Using Simulated Natural Selection to Automatically Write Programs.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Genetic Programming. What is Genetic Programming? GP for Symbolic Regression Other Representations for GP Example of GP for Knowledge Discovery Outline.
Genetic Algorithms and Evolutionary Programming A Brief Overview.
Genetic Algorithm (Knapsack Problem)
Chapter 14 Genetic Algorithms.
Genetic Algorithms.
Selected Topics in CI I Genetic Programming Dr. Widodo Budiharto 2014.
Introduction Genetic programming falls into the category of evolutionary algorithms. Genetic algorithms vs. genetic programming. Concept developed by John.
Evolution Strategies Evolutionary Programming
USING MICROBIAL GENETIC ALGORITHM TO SOLVE CARD SPLITTING PROBLEM.
Decision Trees.
Evolution strategies and genetic programming
Multy- Objective Differential Evolution (MODE)
GENETIC PROGRAMMING BBB4003.

Introduction to Data Mining, 2nd Edition by
Introduction to Data Mining, 2nd Edition by
Basics of Genetic Algorithms (MidTerm – only in RED material)
Artificial Intelligence Chapter 4. Machine Evolution
Chap. 7 Regularization for Deep Learning (7.8~7.12 )
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Basics of Genetic Algorithms
Artificial Intelligence Chapter 4. Machine Evolution
Boltzmann Machine (BM) (§6.4)
Applications of Genetic Algorithms TJHSST Computer Systems Lab
GENETIC PROGRAMMING BBB4003.
CS203 Lecture 15.
(presentor: jee-weon Jung)
Beyond Classical Search
Coevolutionary Automated Software Correction
Evaluation David Kauchak CS 158 – Fall 2019.
Presentation transcript:

GP FOR ADAPTIVE MARKETS Jake Pacheco 6/11/2010

The Goal  Produce a system that can create novel quantitative trading strategies for the stock market.  A quantitative trading strategy is a strategy that relies only on market data to make predictions.  It was decided that using genetic programming to create strategies would be the best option.

Genetic Programming  Genetic programming (GP) is a type of algorithm that is based off of ideas gained from evolution.  Essentially, a “generation” of “individuals” is evaluated, and then the “fittest” are chosen to “crossover” and “mutate”, creating the next generation.  This process continues until a specified number of generations are completed or until the fitness reaches a desired value.

GP Fitness  Possibly the most important aspect of a GP.  Determines how trees are compared.  The fitness function is defined differently for each problem  Ex: In symbolic regression, the fitness can be measured by the distance between the guesses and the actual values.

GP Individuals  An individual consists of one or more trees, each of which represents a function.  Trees consist of function nodes and leaf nodes.  Function nodes define functions such as addition or subtraction. They each take one or more child nodes.  Variable nodes are the leaves of the tree. They are given values by the program.

GP Crossover  To perform crossover, randomly pick a node on each of the individuals.  Swap those nodes and their subtrees.

GP Mutation  To perform mutation, pick a node in the tree at random.  Remove that node and its subtree and grow a new subtree in its place.

ECJ  There are many frameworks in existence for performing evolutionary computation.  It was decided that ECJ, a framework for evolutionary computation written in Java, would be used.  ECJ has a good set of features, good documentation and, importantly, is written in Java.

ECJ Architecture: Evolve  To begin a GP run in ECJ, you must call ec.Evolve with the desired parameter file passed as a command line argument.  ECJ uses parameter files to control almost every parameterized aspect of the program. They are essentially sequences of declarations.  Evolve sets up the program and initializes the population, and is responsible for conducting the run, calling evaluate on each individual, etc.

ECJ Architecture: GPProblem  GPProblem is the class where the actual problem is defined. In it, the fitness function and the evaluate method is specified. The GPProblem evaluate method determines how the output of the function tree is evaluated, and is also responsible for setting an individual’s fitness.  GPProblem is subclassed to specify application specific evaluation.

ECJ Architecture: GPIndividual

ECJ Architecture: Crossover and Mutation  Crossover and mutation are performed by the BreedingPipeline class, which is responsible for generating individuals for the new generation.  ECJ has built in subclasses to provide crossover and mutation pipelines.

Function Nodes  There were a total of 30 nodes defined, of which 17 were variable nodes and 13 were function nodes.  Variable nodes: Open, High, Low, Close  Function nodes: Add, Subtract, Multiply, Divide, Zero-Lag Exponential Moving Average, Log, Sine, Cosine, Standard Deviation, Less Than, Greater Than, Equal To, If.

Fitness Function and Evaluation  The fitness function in this case is immediately apparent: The more money an individual makes, the better its fitness should be.  Less apparent is how to convert the output of an individual’s function to a buy/sell decision during evaluation.  Decided to normalize the results over the past 60 days.  Positions are opened and closed at the end of each day.

Training Dataset  Data is from Yahoo finance.  S&P 500 and IBM from  The data is divided into a training dataset as follows: Each generation, a random 2/3 of the data is selected to be the training portion. During evaluation, the system stays out of the market on days that are not in the training dataset. The goal of using random training sets is to encourage more general strategies.

Results  On average, the strategies generated have an 8- 11% annualized rate of return trading on the S&P 500, while buy and hold has an annualized rate of return of 6.6%.

Results

Future Work  Add more functions  Multiple trees for each individual  Adaptive selection  Change evaluation method  Interface directly with Yahoo API