Genetic Programming of Fuzzy Logic Production Rules with Application to Financial Trading

John Koza has demonstrated that a form of machine learning can be constructed by using the techniques of Genetic Programming using LISP statements. We describe here an extension to this principle using Fuzzy Logic sets and operations instead of LISP expressions. We show that Genetic programming can be used to generate trees of fuzzy logic statements, the evaluation of which optimise some external process, in our example financial trading. We also show that these trees can be simply converted to natural language rules, and that these rules are easily comprehended by a lay audience. This clarity of internal function can be compared to “Black Box” non-parametric modelling techniques such as Neural Networks. We then show that even with minimal data preparation the technique produces rules with good out of sample performance on a range of different financial instruments. Introduction In 1965 Lotfi Zadeh first published a description and analysis of Fuzzy Logic. This is a true superset of Boolean Logic and permits the description of functions and processes with a degree of vagueness or uncertainty. Since then various workers in the field have extended the concept of rule based expert systems to embrace Fuzzy Logic especially in the field of industrial control. John Holland published his book on Genetic Algorithms in 1975. This described a methodology for optimisation of arbitrary functions using techniques gleaned from the processes of Darwinian evolution. This methodology is both robust in optimising noisy and non-linear functions, and powerful in that multiple solutions, where they exist, are automatically generated by the technique. In 1992 Koza published his extension to Holland’s work that used Genetic techniques to modify and mate a set of LISP statements. Koza used LISP because statements in this language can be easily converted to a parse-tree representation, and evaluation involved only compilation and provision of data. In Koza’s methodology a set of