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)
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 |
Carl Bacon, Practical portfolio performance measurement and attribution, second edition 2008 p.98
CalmarRatio
BurkeRatio
PainIndex
UlcerIndex
PainRatio
MartinRatio
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.6581require("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