[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] The EASIEST way to use new optimizer engines



PureBytes Links

Trading Reference Links

Hello,

Exhaustive search is perfectly fine as long as it is reasonable to use
it. Let's say you have 2 parameters each ranging from 1 to 100 (step 1).
That's 10000 combinations - perfectly OK for exhaustive search.
Now with 3 parameters you got 1 million combinations - it is still OK for exhaustive
search (but can be lenghty). With 4 parameters you have 100 million combinations
and with 5 parameters (1..100) you have 10 billion combinations.
In that case it would be too time consuming to check all of them,
and this is the area where non-exhaustive smart-search methods can solve
the problem that is not solvable in reasonable time using exhaustive search.

As to algorithm used by non-exhaustive search it looks as follows:

a) the optimizer generates some (usually random) starting population of parameter sets
b) backtest is performed by AmiBroker for each parameter set from the population
c) the results of backtests are evaluated according to the logic of algorithm
and new population is generated based on the evolution of results, 
d) if new best is found - save it and go to step b) until stop criteria are met


Example stop criteria can include:
a) reaching specified maximum iterations
b) stop if the range of best objective values of last X generations is zero
c) stop if adding 0.1 standard deviation vector in any principal axis direction does not change the value of objective value
d) others 

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "cstrader" <cstrader232@xxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Friday, June 27, 2008 10:32 PM
Subject: Re: [amibroker] The EASIEST way to use new optimizer engines


> ...but I'm still a bit confused.  If we use the default solver -- that is, 
> we don't put an optimizerset = line in, then we get an exhaustive search, 
> right.  Every possible combination of values is tested and compared. 
> Wouldn't that be the best solution if it's possible in a reasonable 
> timeframe?
> 
> So, what happens when the cmae optimizer is used instead?  Something like 
> this?
> 
> 1.  AB computes CAR/MDD from the default values of the optimizing variables
> 2.  AB computes CAR/MDD from another set of optimizing variables
> 3.  1 and 2 are sent to the optimizer, and it returns a set of variables to 
> try next.
> 4.  Repeat 2 and 3 until a solution is reached?
> 
> Sorry, but this is pretty new to me.
> 
> 
> 
> ----- Original Message ----- 
> From: "Tomasz Janeczko" <groups@xxxxxxxxxxxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Friday, June 27, 2008 2:33 PM
> Subject: Re: [amibroker] The EASIEST way to use new optimizer engines
> 
> 
>> Hello,
>>
>> Yes these are different solvers.
>> In principle only exhaustive search is guaranteed to find global optimum 
>> value.
>>
>> Non-exhaustive (or "intelligent") methods will find global or local 
>> optimum.
>> The goal is of course to find global one, but if there is a single sharp 
>> peak
>> out of zillions parameter combinations, non-exhaustive methods may fail
>> to find this single peak, but taking it form trader's perspecive, finding 
>> single sharp peak
>> is useless for trading because that result would be instable (too fragile) 
>> and
>> not replicable in real trading. In optimization process we are rather 
>> looking
>> for plateau regions with stable parameters and this is the area where 
>> intelligent methods shine.
>>
>> Best regards,
>> Tomasz Janeczko
>> amibroker.com
>> ----- Original Message ----- 
>> From: "cstrader" <cstrader232@xxxxxxxxxxxx>
>> To: <amibroker@xxxxxxxxxxxxxxx>
>> Sent: Friday, June 27, 2008 8:25 PM
>> Subject: Re: [amibroker] The EASIEST way to use new optimizer engines
>>
>>
>>> Thanks, that helps... basically these are all different variations of
>>> "solvers," right?  And they don't care what they are modelling -- they 
>>> just
>>> do the math looking for the single best solution?  So it's just speed 
>>> that
>>> matters?  Or do different solvers get different solutions?
>>>
>>> And I echo all of the recent praises... take care of yourself Tomasz!
>>>
>>> Chuck
>>>
>>> ----- Original Message ----- 
>>> From: "Tomasz Janeczko" <groups@xxxxxxxxxxxxx>
>>> To: <amibroker@xxxxxxxxxxxxxxx>
>>> Sent: Friday, June 27, 2008 2:05 PM
>>> Subject: Re: [amibroker] The EASIEST way to use new optimizer engines
>>>
>>>
>>>> Hello,
>>>>
>>>> These are general-purpose optimization algorithms of non-linear 
>>>> functions.
>>>> Any trading system is a function of certain number of arguments. The
>>>> inputs
>>>> are parameters and quotation data , the output is your optimization 
>>>> target
>>>> (say CAR/MDD). And you are looking for maximum of given function.
>>>>
>>>> I provided links to scientific articles describing the math that is
>>>> underlying these algorithms
>>>> - see the README file
>>>> http://www.amibroker.com/devlog/wp-content/uploads/2008/06/readme5130.html
>>>>
>>>> Some are based on nature (animal behavior) - PSO algorithm,
>>>> or biological process - Genetic algorithms,
>>>> and some are based on mathematical concepts derived by humans - CMA-ES.
>>>>
>>>> These algorithms are used in many different areas, including finance.
>>>>
>>>> Enter "PSO finance" or "CMA-ES finance" in Google and you will find lots
>>>> of info.
>>>>
>>>> Best regards,
>>>> Tomasz Janeczko
>>>> amibroker.com
>>>> ----- Original Message ----- 
>>>> From: "cstrader" <cstrader232@xxxxxxxxxxxx>
>>>> To: <amibroker@xxxxxxxxxxxxxxx>
>>>> Sent: Friday, June 27, 2008 7:39 PM
>>>> Subject: Re: [amibroker] The EASIEST way to use new optimizer engines
>>>>
>>>>
>>>>> Yes, and more generally, what are these systems?  They seem to mimic
>>>>> evolutionary processes... how are they applied to optimization?  And 
>>>>> how
>>>>> do
>>>>> we know that they work well for our particular needs -- are financial
>>>>> markets and Darwinian evolution really the same processes?  Any 
>>>>> sources,
>>>>> references appreciated.
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>>
>>>>> ----- Original Message ----- 
>>>>> From: "Thomas Ludwig" <Thomas.Ludwig@xxxxxx>
>>>>> To: <amibroker@xxxxxxxxxxxxxxx>
>>>>> Sent: Friday, June 27, 2008 12:43 PM
>>>>> Subject: Re: [amibroker] The EASIEST way to use new optimizer engines
>>>>>
>>>>>
>>>>>> TJ,
>>>>>>
>>>>>> the new engines work very well. But just one question:
>>>>>>
>>>>>>> (the best one which is  CMA-ES).
>>>>>>
>>>>>> Are there still cases where the other engines are preferable? I mean
>>>>>> there must be a reason why you included them ;-)
>>>>>>
>>>>>> Best regards,
>>>>>>
>>>>>> Thomas
>>>>>>
>>>>>> ------------------------------------
>>>>>>
>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------
>>>>>
>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>
>>>> ------------------------------------
>>>>
>>>> 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
>>>>
>>>>
>>>>
>>>
>>>
>>> ------------------------------------
>>>
>>> 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
>>>
>>>
>>>
>>
>> ------------------------------------
>>
>> 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
>>
>>
>>
> 
> 
> ------------------------------------
> 
> 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
> 
> 
> 

------------------------------------

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:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/