Hi Mark --

You are describing the process known as "evolutionary operation." I discuss it in "Quantitative Trading Systems." It is appropriate for systems that are "well behaved," which trading systems sometimes are. Whether a system is well behaved or not is determined by the multi-dimensional shape of the objective function being searched. If the contours of equal values of the objective function are convex, it is well behaved. (In two dimensions, this can be plotted, as you have noted.) If not convex, evolutionary operation may work or may not.

Your comment about the complexity increasing is called "curse of dimensionality." There is a posting on my blog site that discusses this:

http://www.blueowlpress.com/WordPres...imensionality/
AmiBroker has both exhaustive and non-exhaustive search. If you want to evaluate the objective function at every combination of parameters, do nothing special and the search will be exhaustive and will do that. If you are looking for the combination of parameters that result in the maximum value of the objective function, and do not necessarily want to see the results of all of the combinations, add this line to your AmiBroker code:

OptimizerSetEngine("cmae");

Your searches will then use the Covariance Matrix Adaptation Evolutionary Strategy to search. Read more about it here:

http://www.amibroker.com/guide/h_optimization.html
CMAE tames the curse of dimensionality -- at least unless you go wild with an enormous search space. Think first, compute second.

Best regards,

Howard

## Bookmarks