PerformanceAnalytics (version 1.1.0)

MSquaredExcess: M squared excess of the return distribution

Description

M squared excess is the quantity above the standard M. There is a geometric excess return which is better for Bacon and an arithmetic excess return

Usage

MSquaredExcess(Ra, Rb, Rf = 0,
    Method = c("geometric", "arithmetic"), ...)

Arguments

Ra
an xts, vector, matrix, data frame, timeSeries or zoo object of asset return
Rb
return vector of the benchmark asset
Rf
risk free rate, in same period as your returns
Method
one of "geometric" or "arithmetic" indicating the method to use to calculate MSquareExcess
...
any other passthru parameters

Details

$$M^2 excess (geometric) = \frac{1 + M^2}{1 + b} - 1$$ $$M^2 excess (arithmetic) = M^2 - b$$

where $M^2$ is MSquared and $b$ is the benchmark annualised return.

References

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

Examples

Run this code
data(portfolio_bacon)
print(MSquaredExcess(portfolio_bacon[,1], portfolio_bacon[,2])) #expected -0.00998
print(MSquaredExcess(portfolio_bacon[,1], portfolio_bacon[,2], Method="arithmetic")) #expected -0.011

data(managers)
print(MSquaredExcess(managers['1996',1], managers['1996',8]))
print(MSquaredExcess(managers['1996',1:5], managers['1996',8]))

Run the code above in your browser using DataLab