PerformanceAnalytics (version 1.5.2)

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
# NOT RUN {
data(portfolio_bacon)
MSquaredExcess(portfolio_bacon[,1], portfolio_bacon[,2]) #expected -0.00998

MSquaredExcess(portfolio_bacon[,1], portfolio_bacon[,2], Method="arithmetic") #expected -0.011

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

# }

Run the code above in your browser using DataCamp Workspace