Layer 3. Evolutionary Simulation

QML Platform allows the design of search spaces and can automate the search of alphas in such spaces. Typically run over night, a successful experiment can discover tens of models. Researchers will combine these model into a stronger one.

We start with loading some data, for instance, 11 attributes.

Designing the Search Space

Search space can be defined by Grammars. Grammars are operating on a set of terminal and non-terminal symbols. Starting from the initial symbol, a derivation is a sequence of replacements of some non-terminals by applying valid production, until the final string contains only terminals.

On the Expression tab we can test the grammar and check if the expressions are generated correctly. At this point the expressions are not backtested.

Qn the QML Evolution tab we configure the experiment:

  1. Generation parameters, e.g., sample size, maximum depth of the derivation trees, evaluation mode, name of the grammar and name of script (and simulation configuration file)
  2. The timeframe for learning (in-sample a=data)
  3. Filtering parameters. The simulated alphas will be retain only if their performance characteristics pass the define filter

Alpha_1=Expression(Standard(Flip(A1*A11)))
Alpha_2=Expression(Standard(Flip(A8*A1)))
Alpha_3=Expression(Standard(Flip(A2*A9+A4A8+A10*A2)))
Alpha_4=Expression(Standard(Flip((A8*A8)))
Alpha_5=Expression(Standard(A2*A3)))
Alpha_6=Expression(Standard(Flip(A11*A7+A10*A4+A2*A3+A6*A1)))
Alpha_7=Expression(Standard(Flip(A2*A8+A1*A4)))
Alpha_8=Expression(Standard(Flip(A5*A10+A10*A7+A10*A2+A3*A8)))
Alpha_9=Expression(Standard(Flip(A6*A10+A8*A8+A9*A2)))
Alpha_10=Expression(Standard(Flip(A5*A5+A11*A2)))
Alpha_11=Expression(Standard(Flip(A6*A7+A11*A11+A1*A5+A9*A4+A8*A11)))

Running this simulation experiment could create this type of outcome:

Their profile is shown in the picture below:

A final simple average operations leads to the following final alpha.