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/

Reply via email to