M squared for Sortino is a M^2 calculated for Downside risk instead of Total Risk

M2Sortino(Ra, Rb, MAR = 0, ...)

Arguments

Ra

an xts, vector, matrix, data frame, timeSeries or zoo object of asset return

Rb

return vector of the benchmark asset

MAR

the minimum acceptable return

…

any other passthru parameters

Details

$$M^2_S = r_P + Sortino ratio * (\sigma_{DM} - \sigma_D)$$

where \(M^2_S\) is MSquared for Sortino, \(r_P\) is the annualised portfolio return, \(\sigma_{DM}\) is the benchmark annualised downside risk and \(D\) is the portfolio annualised downside risk

References

Carl Bacon, Practical portfolio performance measurement and attribution, second edition 2008 p.102-103

Examples

data(portfolio_bacon) MAR = 0.005 print(M2Sortino(portfolio_bacon[,1], portfolio_bacon[,2], MAR)) #expected 0.1035
#> portfolio.monthly.return.... #> Sortino Ratio (MAR = 0.5%) 0.1034799
data(managers) MAR = 0 print(MSquaredExcess(managers['1996',1], managers['1996',8], MAR))
#> SP500 TR #> SP500 TR 0.02027322
print(MSquaredExcess(managers['1996',1:5], managers['1996',8], MAR))
#> HAM1 HAM2 HAM3 HAM4 HAM5 #> MSquaredExcess (Risk free = 0) 0.02027322 NA 0.1409545 -0.02546609 NA