The regression epsilon is an error term measuring the vertical distance between the return predicted by the equation and the real result.

CAPM.epsilon(Ra, Rb, Rf = 0, ...)

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 passthru parameters

Details

$$\epsilon_r = r_p - \alpha_r - \beta_r * b$$

where \(\alpha_r\) is the regression alpha, \(\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.71

Examples

data(portfolio_bacon) print(SFM.epsilon(portfolio_bacon[,1], portfolio_bacon[,2])) #expected -0.013
#> [1] -0.01313932
data(managers) print(SFM.epsilon(managers['1996',1], managers['1996',8]))
#> [1] 0.07425366
print(SFM.epsilon(managers['1996',1:5], managers['1996',8]))
#> HAM1 HAM2 HAM3 HAM4 #> Regression epsilon (Risk free = 0) 0.07425366 0.5399193 0.2048063 0.05570592 #> HAM5 #> Regression epsilon (Risk free = 0) NA