MDP¶
Defined in fynance.portfolio.allocation
- MDP(X, w0=None, up_bound=1., low_bound=0., cov=None)[source]
Get weights of Maximum Diversified Portfolio allocation.
- Parameters:
- Xarray_like
Each column is a series of price or return’s asset.
- w0array_like, optional
Initial weights for the optimizer.
- up_bound, low_boundfloat, optional
Respectively maximum and minimum values of weights, such that low_bound \(\leq w_i \leq\) up_bound \(\forall i\). Default is 0 and 1.
- covcallable, optional
Callable mapping the
(T, N)training array to an(N, N)covariance matrix, e.g.fynance.portfolio.covariance.ledoit_wolf; default None keeps the sample covariance. When None (default) the objective callsdiversified_ratio, which recomputes the (biased) sample covariance of X at every optimizer iteration. When a callable is given, the covariance is instead estimated once via that callable and the diversification ratio is evaluated from this fixed matrix at every iteration (see_diversified_ratio_from_cov) — the two evaluation paths can therefore differ slightly even when cov reduces to the sample covariance, becausediversified_ratiouses the biased (ddof=0) sample covariance recomputed from X while cov is called once upfront.
- Returns:
- array_like
Weights that maximize the diversified ratio of the portfolio.
See also
diversified_ratio
Notes
Weights of Maximum Diversification Portfolio, as described by Y. Choueifaty and Y. Coignard [5], verify the following problem:
\[\begin{split}w = \text{arg max } D(w) \\ u.c. \begin{cases}w'e = 1 \\ 0 \leq w_i \leq 1 \\ \end{cases}\end{split}\]Where \(D(w)\) is the diversified ratio of portfolio weighted by w.
References