PureBytes Links
Trading Reference Links
|
Ken,
I did not study your code in detail, but here is what I have been
using. I did not compare the results directly to MorningStar since I
was using daily data instead of monthly. However, I did some rough
comparisons and everything seemed to be in the right neighborhood.
(be careful of line wraps below).
One thing to remember is that alpha calculation is for whatever
interval you are using and needs to be annualized.
// Correlation
B1Cor = Correlation(EqROC, B1ROC, n-1);
// Correlation Coef (r) to Benchmark 1
B1Corr = B1Cor * B1Cor;
// Coef of Deter(r-sqrd) to Benchmark
1
// Beta
B1Beta = (n * Sum(EqROC * B1ROC , n) - Sum(EqROC, n) * Sum
(B1ROC, n) )
/ (n * Sum(B1ROC ^ 2 , n) - Sum(B1ROC, n) ^ 2 );
// MPT Alpha (traditional)
B1Alphad = (MA(EqROC, n-1) - B1Beta * MA(B1ROC, n-1)); //
Daily Alpha
B1AlphaA = 100*((1+B1Alphad/100)^252 -1);
// Annualized Daily Alpha
B1Alpha = EqCAR - B1Beta*B1CAR;
// Alpha from Annualized data
--- In amibroker@xxxxxxxxxxxxxxx, "Ken Close" <ken45140@xxx> wrote:
>
> Can someone help on this question:
>
> I need to calculate Alpha and Beta for two sets of symbols for
equity, one
> having daily data, and another set having monthly data.
>
> 1. I am using these formulas for Alpha and Beta, yet the units for
Alpha do
> not match those I can find on various web sites.
>
> Formulas:
>
> Beta = (( Periods * Sum(ROC( C,1) * ROC(Mkt,1),Periods )) -
>
> (Sum(ROC(C,1),Periods) * Sum(ROC( Mkt,1),Periods))) /
>
> ((Periods * Sum((ROC(Mkt,1)^2 ),Periods)) - (Sum(ROC
(Mkt,1 ),Periods)^2 ));
>
> Alpha = (Sum(ROC( C,1) ,Periods) - ( Beta ) * Sum( ROC(
Mkt,1) ,Periods ) )
> / Periods;
>
> One article states that Alphas, according to Morningstar, range
from -11 to
> 45 with an average of all funds around 2. One such fund is listed
having an
> Alpha of 11.5, and my calculation is 0.36.
>
> So, do the formulas look right and does anyone have a
representative measure
> of Alpha?
>
> 2. I am having fits making the formulas calculate daily vs monthly
data.
> My attempts to use inMonthly timeframes does not work (values
either blank
> or incorrect when compared to other sources. Thus, I would like to
have a
> single formula run and then manually select Monthly or Daily
periodicity in
> the Settings box. Is there a Status command that tells the code
whether the
> periodicity is set on Monthly or Daily?
>
> 3. Further, I would like the "Periods" in the above formula to be
> determined from the date range, and I can calculate a "Periods"
value when I
> am in Daily periodicity. But, try as I might, I get Periods equal
to zero
> unless I put in a manual setting for periods, say Periods = 12;.
> This works for Daily, what would I use for a Periodicity of Monthly?
> Index1 = ValueWhen( DateNum()== StartDate ,BarIndex(), 1);
>
> Index2 = ValueWhen( DateNum()== EndDate ,BarIndex(), 1);
>
> Enddate = ValueWhen(DateNum()==Enddate,DateTime(),1);
>
> Periods = LastValue(Index2 - Index1);
>
>
> Thanks for any suggestions,
> Ken
>
------------------------------------
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/
|