Minimum Mean Absolute Deviation
Minimise the mean absolute deviation (MAD) of daily portfolio returns around their mean. MAD measures dispersion like the standard deviation does, but it weights each deviation by its size rather than by its square, so a few large days dominate it less.
Overview
Konno and Yamazaki (1991) proposed MAD as a replacement for variance in the Markowitz model. When returns are multivariate normal, minimising MAD and minimising variance give the same portfolio, because the MAD of a normal variable is a fixed multiple of its standard deviation. On real daily returns, which have heavier tails than the normal, the two portfolios differ.
The problem is a linear programme, so it needs no covariance matrix and no positive-definiteness check. It uses the full history of daily returns in the run window directly.
FolioLab implements this method with skfolio's mean-risk estimator, usingRiskMeasure.MEAN_ABSOLUTE_DEVIATION with the objective set to minimise risk. The problem is a linear programme, solved by CVXPY with CLARABEL first, then HiGHS, then SCS. Per-name weight bounds, asset exclusions, and group sum limits such as sector caps pass to the estimator and enter the same programme.
Mathematical Formulation
Mean absolute deviation
is the vector of daily asset returns on day, and is the number of days in the run window.
Linear programme
One auxiliary variable per day carries the absolute value. The programme has T + N variables and 2T inequality rows.
MAD vs variance
MAD is symmetric: a day far above the mean counts as much as a day far below it. A method that penalises only the downside is Minimum FLPM or Minimum Semivariance.
MAD grows linearly with the size of a deviation and variance grows with its square, so one extreme day moves a minimum-variance portfolio more than a minimum-MAD portfolio.
What the result is, and is not
The weights minimise the measure on the returns of the run window, and only on them. They are not a forecast that the measure will be lowest in the future. Like every method on FolioLab, this one is not validated out of sample, and no claim is made that it performs better than any other method.
Before release, FolioLab compared these weights with the weights riskfolio-lib 7.0.1 produces for the same measure on the same returns.
Advantages & Limitations
Advantages
- Linear: Solved as a linear programme, with no covariance estimate.
- Less sensitive to outliers: A deviation counts by its size, not by its square.
- Same answer under normality: Agrees with minimum variance when returns are normal.
Limitations
- Symmetric: Upside deviations are penalised as much as losses.
- Ignores return: The objective has no expected-return term.
- Problem size: Grows with the number of days in the window.
- History-bound: The measure is the in-sample MAD of the run window.
References
- Konno, H., & Yamazaki, H. (1991). "Mean-Absolute Deviation Portfolio Optimization Model and Its Applications to Tokyo Stock Market." Management Science, 37(5), 519-531.
- Cajas, D. (2021). Riskfolio-Lib documentation - risk measures.
- skfolio documentation -
skfolio.RiskMeasure.MEAN_ABSOLUTE_DEVIATION.
Not investment advice. Past performance is not indicative of future results.