To calculate Mean absolute deviation we take the sum of the absolute value of the difference between the returns and the mean of the returns and we divide it by the number of returns.

MeanAbsoluteDeviation(R, ...)

Arguments

R

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

any other passthru parameters

Details

$$MeanAbsoluteDeviation = \frac{\sum^{n}_{i=1}\mid r_i - \overline{r}\mid}{n}$$

where \(n\) is the number of observations of the entire series, \(r_i\) is the return in month i and \(\overline{r}\) is the mean return

References

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

Examples

data(portfolio_bacon) print(MeanAbsoluteDeviation(portfolio_bacon[,1])) #expected 0.0310
#> [1] 0.03108333
data(managers) print(MeanAbsoluteDeviation(managers['1996']))
#> HAM1 HAM2 HAM3 HAM4 HAM5 HAM6 #> Mean absolute deviation 0.0125375 0.031576 0.02229444 0.02540972 NaN NaN #> EDHEC LS EQ SP500 TR US 10Y TR US 3m TR #> Mean absolute deviation NaN 0.02225 0.01611653 0.00021
print(MeanAbsoluteDeviation(managers['1996',1]))
#> [1] 0.0125375