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.
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
- series
(Optional): Boolean to return a time series of Jensen's Alpha instead of a single value. Defaults to FALSE.
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
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 0.5636765 0.2196026 0.06063837 NA