Volatility and variability of the return distribution
Source:R/VolatilitySkewness.R
VolatilitySkewness.RdVolatility skewness is a similar measure to omega but using the second partial moment. It's the ratio of the upside variance compared to the downside variance. Variability skewness is the ratio of the upside risk compared to the downside risk.
Usage
VolatilitySkewness(R, MAR = 0, stat = c("volatility", "variability"), ...)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
- stat
one of "volatility", "variability" indicating whether to return the volatility skewness or the variability skweness
- ...
any other passthru parameters
Details
$$ VolatilitySkewness(R , MAR) = \frac{\sigma_U^2}{\sigma_D^2}$$
$$ VariabilitySkewness(R , MAR) = \frac{\sigma_U}{\sigma_D}$$
where \(\sigma_U\) is the Upside risk and \(\sigma_D\) is the Downside Risk
References
Carl Bacon, Practical portfolio performance measurement and attribution, second edition 2008 p.97-98
Examples
data(portfolio_bacon)
MAR = 0.005
print(VolatilitySkewness(portfolio_bacon[,1], MAR, stat="volatility")) #expected 1.32
#> [,1]
#> [1,] 1.323046
print(VolatilitySkewness(portfolio_bacon[,1], MAR, stat="variability")) #expected 1.15
#> [,1]
#> [1,] 1.150238
MAR = 0
data(managers)
# print(VolatilitySkewness(managers['1996'], MAR, stat="volatility"))
print(VolatilitySkewness(managers['1996',1], MAR, stat="volatility"))
#> [,1]
#> [1,] 6.149423