Choosing an optimization algorithm
The discovery task has three major features:
- (1) We know what format the trading strategy should follow.
- (2) Optimization is over both discrete and real-valued parameters.
- (3) Gradient information is not available, even for the real-valued parameters.
(1) implies that genetic programming is more flexible than needed.
(3) is true because we are maximizing a product over a finite number of days. A tiny change in a threshold leads to either no change at all, or to changed actions, hence to a jump in the objective function.
So we choose a standard genetic algorithm.
- Our encoding has 16 bits per rule, so some bits are wasted.
- More importantly, single-bit changes can yield very different strategies, so local search by flipping single bits is less useful.