PureBytes Links
Trading Reference Links
|
Tomasz,
I think this statement:
> Should be 1.0 or more.
is no longer correct for the new version and should be corrected in the help
file.
Greetings, Thomas
> ----- Original Message -----
> From: "Ron Rowland" <rowland@xxxxxxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Friday, July 27, 2007 7:06 PM
> Subject: [amibroker] Re: K-Ratio Implementation (revisited)
>
> > Thanks Thomas, but no, I don't believe that post does not answer my
> > question. The post below explains the the difference between K-Ratio
> > (1996) and K-Ratio(2003). However, it does not explain the
> > Backtester results.
> >
> > K-Ratio(1996) = LinRegSlope / (StdErr * sqrt(n))
> > K-Ratio(2003) = LinRegSlope / (StdErr * n)
> > K-Ratio(Ami) = LinRegSlope / StdErr * sqrt(n) / sqrt(12)
> >
> > The sqrt(12) function is typically used to convert a monthly StdDev
> > (or StdErr) to an annualized one. I do not understand its purpose
> > here.
> >
> > Alternatively, there could be additional errors in mys undertanding
> > of these functions:
> >
> > LinRegSlope returns the slope for 1 period. Since the slope is
> > linear, it can be annualized by multiplying a daily slope by 252
> > market days in a year. Multiplying by n will provide total increase
> > over the entire backtest.
> >
> > StdErr returns the standard error function (the 1-period average of
> > the entire range). Since it is essentially a 1-period standard
> > deviation, to annualize this value you should multiply by sqrt(252).
> >
> > It seems to me that LRS / StdErr = K-Ratio for one day.
> >
> > To annualize this, it should be multiplied by 252/ sqrt(252).
> > Of course, any number multiplied by its sqrt = its sqrt, to the
> > annualized version can be simplified to
> >
> > LRS/ StdErr * sqrt(252).
> >
> > If for some reason, you do not want an annualized version that can be
> > compared for various time frames, you can create the cumulative
> > version by replacing 252 with n (the number of observations). This
> > suggests that sqrt(252) should be in numerator instead of n being in
> > the denominator.
> >
> > My thinking and/or assumptions must be off somewhere, but I cannot
> > determine where.
> >
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, Thomas Ludwig <Thomas.Ludwig@xxx>
> >
> > wrote:
> >> TJ once explained that in a posting in this list:
> >> > Hello,
> >> >
> >> > By the way it is NOT surprising that you are getting lower values
> >> >than before.
> >> >
> >> > In his book Mr. Lars Kestner writes:
> >> >
> >> > ' The K-ratio is a unitless measure of performance that can be
> >> >compared across markets and time periods. [ - - - ] Traders should
> >> > search for strategies yielding K-ratios greater than +0.50.
> >> >Together, the Sharpe ratio and K-ratio are the most important
> >> > measures when evaluating trading strategy performance. Note: When
> >> >I created the K-ratio in 1996, I thought I had created a
> >> > robust measure to evaluate performance. In mid-2000, trader Bob
> >> >Fuchs brought a small error to my attention regarding the
> >> > scaling of the K-ratio. He was correct in his critique and I have
> >> >corrected the error in this text. Publications prior to 2002 will
> >> > show a different formula for the K-ratio. The updated formula in
> >> >this book is correct.'
> >> >
> >> > Previous AB versions contained old K-ratio formulation [of 1996]
> >> >and newest one contains
> >> > new formulation [from Kestners book of 2003].
> >> >
> >> > The difference between those two formulations [i.e. 'trader Bob
> >> >Fuchs brought a small error to my attention regarding the
> >> > scaling of the K-ratio. ' ]
> >> > is just the factor denominator that is now [NumberOfObservations]
> >> >instead of SQRT[ NumberOfObservation]
> >> >
> >> > Since [NumberOfObservations]/SQRT[NumberOfObservations] = SQRT
> >> >[NumberOfObservations]
> >> > it makes it obvious that new K-ratio figures will be SQRT
> >> >[NumberOfObservations] times smaller than previous.
> >> >
> >> > The relationship between new and old version can be written as:
> >> >
> >> > KRatio[ NEW2003 ] = KRatio[ OLD1996 ]/SQRT[NumberOfObservations]
> >> >
> >> > You can correspond with Mr. Kestner why 'new' is better than 'old'
> >> >but do not discuss this with me, because I did not invent it.
> >>
> >> I guess that answers your question.
> >>
> >> Greetings, Thomas
> >>
> >> > I made two posts on this subject a couple of weeks ago, but it
> >
> > seems
> >
> >> > those posts have disappeared.
> >> >
> >> > Anyway. I am now able to duplicate the AmiBroker 4.96 beta CBT
> >
> > results
> >
> >> > for K-Ratio. My implmentation follows and appears to match the
> >> > AmiBroker results for backtest periods lasting from 2 months to
> >
> > 17+
> >
> >> > years.
> >> >
> >> > Eq = Foreign("~~~EQUITY", "C"); // Assign Close of Backtest
> >
> > Equity = Eq
> >
> >> > n = Barcount -1; // Number of periods
> >> >
> >> > // K-Ratio - only valid for non-compounding systems
> >> > EqLRS = LinRegSlope(Eq, n+1); // Linear Reg Slope of entire (n+1)
> >
> > range
> >
> >> > EqSE = StdErr(Eq, n+1);// Std Err of entire (n+1) range
> >> > EqKR = EqLRS/EqSE; // K-Ratio (unitless measure)
> >> > EqKRAmi = EqKR*sqrt(n+1)/sqrt(12);// AmiBroker 4.96
> >
> > implementation
> >
> >> > My question is: Why does it require a divide by sqrt(12) to work?
> >> >
> >> >
> >> >
> >> >
> >> > 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/
|