Table of Monthly downside risk, Annualised downside risk, Downside potential, Omega, Sortino ratio, Upside potential, Upside potential ratio and Omega-Sharpe ratio

table.DownsideRiskRatio(R, MAR = 0, scale = NA, digits = 4)

Arguments

R

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

MAR

Minimum Acceptable Return, in the same periodicity as your returns

scale

number of periods in a year (daily scale = 252, monthly scale =

digits

number of digits to round results to

References

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

See also

CalmarRatio BurkeRatio PainIndex UlcerIndex PainRatio MartinRatio

Examples

data(managers) table.DownsideRiskRatio(managers[,1:8])
#> HAM1 HAM2 HAM3 HAM4 HAM5 HAM6 EDHEC LS EQ #> Monthly downside risk 0.0145 0.0116 0.0174 0.0341 0.0304 0.0121 0.0098 #> Annualised downside risk 0.0504 0.0401 0.0601 0.1180 0.1054 0.0421 0.0341 #> Downside potential 0.0051 0.0061 0.0079 0.0159 0.0145 0.0054 0.0041 #> Omega 3.1907 3.3041 2.5803 1.6920 1.2816 3.0436 3.3186 #> Sortino ratio 0.7649 1.2220 0.7172 0.3234 0.1343 0.9102 0.9691 #> Upside potential 0.0162 0.0203 0.0203 0.0269 0.0186 0.0165 0.0137 #> Upside potential ratio 0.7503 2.2078 1.0852 0.8009 0.7557 1.0003 1.1136 #> Omega-sharpe ratio 2.1907 2.3041 1.5803 0.6920 0.2816 2.0436 2.3186 #> SP500 TR #> Monthly downside risk 0.0283 #> Annualised downside risk 0.0980 #> Downside potential 0.0132 #> Omega 1.6581 #> Sortino ratio 0.3064 #> Upside potential 0.0218 #> Upside potential ratio 0.7153 #> Omega-sharpe ratio 0.6581
require("Hmisc")
#> Loading required package: Hmisc
#> Warning: there is no package called ‘Hmisc’
result = t(table.DownsideRiskRatio(managers[,1:8])) textplot(format.df(result, na.blank=TRUE, numeric.dollar=FALSE, cdec=c(3,3,1)), rmar = 0.8, cmar = 2, max.cex=.9, halign = "center", valign = "top", row.valign="center", wrap.rownames=20, wrap.colnames=10, col.rownames=c("red", rep("darkgray",5), rep("orange",2)), mar = c(0,0,3,0)+0.1)
#> Error in format.df(result, na.blank = TRUE, numeric.dollar = FALSE, cdec = c(3, 3, 1)): could not find function "format.df"
title(main="Downside risk statistics")
#> Error in title(main = "Downside risk statistics"): plot.new has not been called yet