I don’t know which version of the
doc you are referring to but what is below is what is stated in the v2.9 doc regarding
goals on page 28 …
I see no example here like the one you mention
…
Goal As many Goals as desired can be
specified for the same or different performance metrics utilizing any and all of
the performance metrics available for fitness calculations. The resulting
penalty for not meeting the goal or bonus for exceeding the goal can be written
using any and all of the performance metrics as well as the literals METRIC and GOAL which imply the value of the specific performance Metric
and Goal in the arguments of the current directive.
//IO: Goal: Metric:
Relation: Goal Value or _expression_: Type:
Factor Value or _expression_
Metric: A
specific performance metric i.e.
CAR, MDD
etc
Relation: <,
<=, >=, >
Goal
or Value _expression_ Whatever you want the Performance Metric
evaluated against. This can be a constant or a mathematical _expression_
involving whatever performance metrics are desired.
Type Penalty, Bonus
Factor
Value or _expression_ Whatever
you want to use as a factor or multiplier of Fitness when the Goal condition is
true for a Bonus and False for a Penalty. This can be a constant or a
mathematical _expression_ involving whatever performance metrics are desired.
Assumedly you would want to make the value < 1 for a Penalty and > 1 for
a Bonus.
Examples:
//IO: Goal: MDD: <: 15: Bonus:
1.1
//IO: Goal: MDD: <: 10: Bonus:
1.05
With the above Bonuses,
Fitness would be increased by 10% if MDD < 15% and
another 5% if MDD <
10%
//IO: Goal: MDD: <: 20:
Penalty: (Metric / Goal) ^ 2
With the above
Penalty, Fitness would be decreased by a smooth amount related to the
percentage that
MDD missed the goal by
//IO: Goal: ExpPct: >: 10: Penalty:
1 - (0.5 / 0.1) * (0.1 - ExpPct * 0.01)
//IO: Goal: ExpPct: <: 20:
Penalty: abs(ExpPct <= 40) * (1 - (0.5 / 0.2) * (ExpPct * 0.01 - 0.2))
//IO: Goal: ExpPct: <: 40:
Penalty: 0.5
The above penalties
are an implementation of a Penalty Function from Pages 319 - 321
of Howard Bandy’s
book, Quantitative Trading Systems
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of El Nanalo
Sent: Saturday, June 07, 2008 6:44
PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: [amibroker] IO - GOALs:
I'm using IO V2.9(Freeware) with AB V5.0.
I have an IO statement:
//IO: GOAL: WinPCT: >: 50: *
which results in an error pop-up stating:
Goal Type must be Penalty or Bonus -> *
//IO: GOAL: WinPCT: >: 50: *
Correct and Retry
At first, I thought this meant that WinPCT was not usable in a GOAL
statement. However, when I tried one of the examples from IO.DOC...
//IO: GOAL: MDD: <: 10: * // I got the same error message, I.E.,
Goal Type must be......
//IO: GOAL: MDD: <: 10: *
Correct and Retry
If I continue without making the corrections, the backtest lists the
GOAL(s) in the "IO Directives v2.9" Window as, E.G.,
Goals: MDD <10 *= // What does the "=" mean?
The backtest runs to completion, but I can't be sure if IO used the
GOAL statement.
I've searched IO.DOC and this Group, to no avail. Does anyone know why
I'm getting this error flag?
Thanks,
--El Nanalo
I am using the free version of SPAMfighter for private users.
It has removed 469 spam emails to date.
Paying users do not have this message in their emails.
Try
SPAMfighter for free now!
__._,_.___
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
__,_._,___