Hello, With the version 5.13.0 BETA AmiBroker is the first backtesting/optimization platform featuring state-of-the-art optimization algorithm called "Covariance Matrix Adaptation Evolutionary Strategy" that is is outperforming other evolutionary methods (genetic, PSO, DE, etc).
For scientific background see: http://www.bionik.tu-berlin.de/user/niko/cmaesintro.html According to scientific benchmarks outperforms nine other, most popular evolutionary strategies (like PSO, Genetic and Differential evolution). http://www.bionik.tu-berlin.de/user/niko/cec2005.html The plugin (CMAE.DLL) comes with FULL SOURCE CODE (inside "ADK" folder, the source code is released under GPL terms) The CMAE.DLL plugin implements "Global" variant of search with several restarts with increasing population size By default number of runs (or restarts) is set to 5. It is advised to leave the default number of restarts. You may vary it using OptimizerSetOption("Runs", N ) call, where N should be in range 1..10. Specifying more than 10 runs is not recommended, although possible. Note that each run uses TWICE the size of population of previous run so it grows exponentially. Therefore with 10 runs you end up with population 2^10 greater (1024 times) than the first run. There is another parameter "MaxEval". The default value is ZERO which means that plugin will automatically calculate MaxEval required. It is advised to NOT to define MaxEval by yourself as default works fine. The algorithm is smart enough to minimize the number of evaluations required and it converges VERY fast to solution point, so usually it finds solutions way faster than other strategies. It is normal that the plugin will skip some evaluations steps, if it detects that solution was found, therefore you should not be surprised that optimization progress bar may move very fast at some points. The plugin also has ability to increase number of steps over initially estimated value if it is needed to find the solution. Due to its adaptive nature, the "estimated time left" and/or "number of steps" displayed by the progress dialog is only "best guess at the time" and may vary during optimization course. To use CMA-ES optimizer, you just need to add one line to your code: OptimizerSetEngine("cmae"); This will run the optimization with default settings which are fine for most cases. It should be noted, as it is the case with many continouos-space search algorithms, that decreasing "step" parameter in Optimize() funciton calls does not significantly affect optimization times. The only thing that matters is the problem "dimension", i.e. the number of different parameters (number of optimize function calls). The number of "steps" per parameter can be set without affecting the optimization time, so use the finest resolution you want. In theory the algorithm should be able to find solution in at most 900*(N+3)*(N+3) backtests where "N" is the dimension. In practice it converges a LOT faster. For example the solution in 3 (N=3) dimensional parameter space (say 100*100*100 = 1 million exhaustive steps) can be found in as few as 500-900 CMA-ES steps. Best regards, Tomasz Janeczko amibroker.com ------------------------------------ Please note that this group is for discussion between users only. To get support from AmiBroker please send an e-mail directly to SUPPORT {at} amibroker.com For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG: http://www.amibroker.com/devlog/ For other support material please check also: http://www.amibroker.com/support.html Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/amibroker/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/amibroker/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
