The Jensen's alpha is the intercept of the regression equation in the Capital Asset Pricing Model and is in effect the exess return adjusted for systematic risk.

CAPM.jensenAlpha(Ra, Rb, Rf = 0, ..., method = "LS", family = "mopt")

Arguments

Ra

an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns

Rb

return vector of the benchmark asset

Rf

risk free rate, in same period as your returns

...

any other pass thru parameters

method

(Optional): string representing linear regression model, "LS" for Least Squares and "Rob" for robust

family

(Optional): If method == "Rob": This is a string specifying the name of the family of loss function to be used (current valid options are "bisquare", "opt" and "mopt"). Incomplete entries will be matched to the current valid options. Defaults to "mopt". Else: the parameter is ignored

Details

$$\alpha = r_p - r_f - \beta_p * (b - r_f)$$

where \(r_f\) is the risk free rate, \(\beta_r\) is the regression beta, \(r_p\) is the portfolio return and b is the benchmark return

References

Carl Bacon, Practical portfolio performance measurement and attribution, second edition 2008 p.72

Author

Matthieu Lestel, Dhairya Jain

Examples


data(portfolio_bacon)
print(SFM.jensenAlpha(portfolio_bacon[,1], portfolio_bacon[,2])) #expected -0.014
#> [1] -0.01416944

data(managers)
print(SFM.jensenAlpha(managers['1996',1], managers['1996',8]))
#> [1] 0.08077871
print(SFM.jensenAlpha(managers['1996',1:5], managers['1996',8]))
#>                                      HAM1 HAM2      HAM3       HAM4 HAM5
#> Jensen's Alpha (Risk free = 0) 0.08077871   NA 0.2196026 0.06063837   NA