Learn R Programming

PerformanceAnalytics (version 0.9.4)

DownsideDeviation: function for downside risk of the return distribution

Description

Downside deviation is an alternative measure of dounside risk.

Usage

DownsideDeviation(Ra, MAR = 0)

Arguments

Ra
a vector, matrix, data frame, timeSeries or zoo object of asset returns
MAR
Minimum Acceptable Return, in the same periodicity as your returns

Value

    Details

    Downside deviation, similar to semi deviation, eliminates positive returns when calculating risk. Instead of using the mean return or zero, it uses the Minimum Acceptable Return as proposed by Sharpe (which may be the mean historical return or zero).

    To calculate it, we take the returns that are less than the target (or Minimum Acceptable Returns (MAR)) returns and take the differences of those to the target. We sum the squares and divide by the total number of returns to get a below-target semi-variance.

    This is also useful for calculating semi-deviation or semivariance by setting

    MAR = mean(x)

    References

    Sortino, F. and Price, L. Performance Measurement in a Downside Risk Framework. Journal of Investing. Fall 1994, 59-65.

    Examples

    Run this code
    data(edhec)
    head(edhec[,6,drop=FALSE])
    sd(edhec[,6])
    DownsideDeviation(edhec[,6])
    DownsideDeviation(edhec[,6], MAR = .04/12)
    DownsideDeviation(edhec[,6], MAR = mean(edhec[,6]))

    Run the code above in your browser using DataLab