Problem Overview for the Mathematically Inclined

Top  Previous  Next

In its most simple form, the ChaosHunter is seeking to find a function:

 

F(X1, X2, X3, …, Xn, c1, c2, …, ck)

 

  which best computes the Output (a column selected in the data)

 

  and where X1, … Xn are selected from the input variables (columns in the data)

  and c1,…,ck are constants selected by evolution

 

In other words Output= F(X1, X2, X3, …,Xn, c1, c2, …, ck) as closely as possible for each row of data on which the formula is built.

 

How close the function is to the output (how well the formula works in other words) is measured by the Optimization Goal Function that you select.

 

If each row of data is not independent from the other rows, in other words, the rows form a time series, then the formula may also be a function of the previous value computed by the formula:

 

F(X1, X2, X3, … Xn, chaosvar, c1, c2, …, ck)

 

 where chaosvar is the value computed by the formula on the previous row

 

Users choose the operations which might be incorporated in the function F, starting with simple arithmetic operations and including more complex ones as well. Evolutionary strategies determine how F is built with those operations, and which ones are actually included.

 

However, it is also possible to specify that F may incorporate other functions called Technical Indicators, which are functions of the original input variables as well as a “lookback” parameter. There are 16 such Technical Indicators which take the form:

 

T(Xi, 40) where Xi is an input variable and 40 is the lookback parameter (b) that is found by evolution.

 

For example, two of the 16 Technical Indicators are Velocity and Acceleration, so that F could possibly evolve to the form:

 

F(X1, X4, X8, chaosvar, c1, c2, …, ck ,Velocity(X2,b1), Acceleration(X4,b2)) where b1 and b2 are constants found by evolution.

 

If one of the variables in the data represents a financial price time series, then the Chaos Hunter can evolve a formula whose computed values can be used for buy/sell timing signals. This occurs if the user selects one of the Trading Optimization Goals and selects price as the output variable. In this case, evolution also finds thresholds t1 and t2 as well as rules of the following form:

 

  Buy at the next price when F > t1

  Sell at the next price when F<=t2