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, ...)$$\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.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