Alpha and Beta and R_Squared Indicator.afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:3k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Alpha and Beta and R_Squared Indicator
  4. //  Author/Uploader: Anthony Faragasso 
  5. //  E-mail:          ajf1111@epix.net
  6. //  Date/Time Added: 2002-02-12 13:38:37
  7. //  Origin:          
  8. //  Keywords:        
  9. //  Level:           semi-advanced
  10. //  Flags:           indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=157
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=157
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  Alpha, Beta and R_Squared, Indicator plots the Alpha and Beta and produces
  17. //  a read
  18. //
  19. //  out of values in the title bar of the Alpha, Beta and R_Squared. If you
  20. //  want to Plot the
  21. //
  22. //  R_Squared remove the slashes // in front of all Graph2 references....
  23. //
  24. //------------------------------------------------------------------------------
  25. ///Alpha AND Beta Indicators
  26. //Ver.1.00, 2/10/02
  27. //coded by Anthony Faragasso
  28. //e-mail: ajf1111@epix.net
  29. //Insert your Stock_index,Composite_index, S&P,etc.
  30. //as the **Base Market**.
  31. MaxGraph=5;
  32. /***Base Market************/
  33. Mkt="^ndx";//Must be enclosed in "....."Quotations.
  34. P=Foreign(Mkt,"C",1);
  35. /**************************/
  36. Periods=21;//Set the period of Observation 
  37. //****Beta***********************/ 
  38. Beta=(( Periods * Sum(ROC( C,1) * ROC(P,1),Periods )) - (Sum(ROC(C,1),Periods) * Sum(ROC( P,1),Periods))) / ((Periods * Sum((ROC(P,1)^2 ),Periods)) - (Sum(ROC(P,1 ),Periods)^2 ));
  39. /******************************************/
  40. //*****Alpha*********************/ 
  41. Alpha=(Sum(ROC( C,1) ,Periods) - ( Beta ) * Sum( ROC( P,1) ,Periods ) )  / Periods;
  42. /******************************************/
  43. /***R-Squared*****************/
  44. R2=Correlation(P,C,Periods)^2;
  45. /************************************/
  46. Graph0=Beta;
  47. Graph0Style=1;
  48. Graph1=Alpha;
  49. Graph1=(LastValue(Highest(Graph0))/LastValue(Highest(Graph1))) * Graph1;
  50. Graph1Style=1;
  51. /**R_squared graphing*****/
  52. //Graph2=r2;
  53. //Graph2Style=1;
  54. //Graph2Color=2;
  55. /*************************/
  56. Title=Name()+"  "+"ALPHA "+"("+WriteVal(Alpha,format=1.2)+")"+" "+"  BETA "+"("+WriteVal(Beta,format=1.2)+")"+" "+" R_SQUARED "+"("+WriteVal(r2,format=1.2)+")";
  57. /**Notes***/
  58. //You've got to start with r-squared, which is an
  59. //indicator of the validity of the beta AND alpha
  60. //measures. Because the r-squared measures just how 
  61. //closely the Stock OR fund tracks the
  62. //index with which it is being compared.
  63. //An r-squared of 1.0 indicates
  64. //A perfect match. AND, in that case, you can
  65. //trust that the beta AND alpha measures are
  66. //valid, too. But, the lower the r-squared, the less
  67. //reliable beta AND alpha measures are. 
  68. //"[Betas and alphas on] a Stock or  fund with an r-squared that's below //0.50 are completely meaningless.
  69. //Assuming the r-squared is, say, 0.75 OR higher, you can move on to the //beta.