Minimum Gini Mean Difference
Minimise the Gini mean difference (GMD) of daily portfolio returns: the average absolute gap between two days of returns. GMD is a dispersion measure that, unlike the variance, can support conditions for second-degree stochastic dominance.
Overview
Yitzhaki (1982) and Shalit and Yitzhaki (1984) proposed the Gini mean difference as a risk measure for portfolio choice. It compares every day with every other day rather than with the mean, which makes it less sensitive to how the mean is estimated.
Written directly, the measure has a term for every pair of days. skfolio writes it instead as an ordered weighted average (OWA) of the sorted portfolio returns and represents the sort with a sorting network, which keeps the programme linear with about T log² T variables for T days.
FolioLab implements this method with skfolio's mean-risk estimator, usingRiskMeasure.GINI_MEAN_DIFFERENCE with the objective set to minimise risk. The problem is a linear programme, solved by CVXPY with CLARABEL alone, with no fallback solver. 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
Gini mean difference
is the vector of daily asset returns on day, and is the number of days in the run window.
OWA form
Here x_(t) is the t-th smallest portfolio return. The weights rise with the rank, so the measure is a convex function of w. A sorting network of linear constraints keeps the programme a linear one.
GMD vs MAD
MAD measures the distance of each day from the mean. GMD measures the distance of each day from every other day, so it does not depend on the estimate of the mean.
On the same returns, skfolio's OWA programme reached an equal or lower GMD than riskfolio-lib 7.0.1 in every panel FolioLab tested, so FolioLab uses skfolio's formulation.
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
- Mean-free: Compares days with each other, not with an estimated mean.
- Stochastic dominance: Supports conditions for second-degree dominance, which variance does not.
- Linear: Solved as a linear programme.
Limitations
- Symmetric: Upside gaps count as much as downside gaps.
- Solve time: Grows faster than the window: about 20 seconds on six years of daily returns and two to three minutes on twelve. FolioLab stops the solve at four minutes and reports an error for this method alone; the rest of the run completes.
- Ignores return: The objective has no expected-return term.
- History-bound: The measure is the in-sample GMD of the run window.
References
- Yitzhaki, S. (1982). "Stochastic Dominance, Mean Variance, and Gini's Mean Difference." American Economic Review, 72(1), 178-185.
- Shalit, H., & Yitzhaki, S. (1984). "Mean-Gini, Portfolio Theory, and the Pricing of Risky Assets." Journal of Finance, 39(5), 1449-1468.
- Cajas, D. (2021). "OWA Portfolio Optimization: A Disciplined Convex Programming Framework." SSRN Working Paper.
- skfolio documentation -
skfolio.RiskMeasure.GINI_MEAN_DIFFERENCE.
Not investment advice. Past performance is not indicative of future results.