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, ...)
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 |
$$\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
Carl Bacon, Practical portfolio performance measurement and attribution, second edition 2008 p.71
data(portfolio_bacon) print(SFM.epsilon(portfolio_bacon[,1], portfolio_bacon[,2])) #expected -0.013#> [1] -0.01313932data(managers) print(SFM.epsilon(managers['1996',1], managers['1996',8]))#> [1] 0.07425366print(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