PMD: Most Diversified Portfolio

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/PMD.R


This function returns the solution of the most diversified portfolio (long-only).


PMD(Returns, percentage = TRUE, optctrl = ctrl(),...)



A rectangular array of return data.


Logical, whether the weights shall be returned as decimals or percentages (default).


Object of class Rcpp_CTRL.


Arguments are passed down to cov().


The optimisation problem is akin to that of a global minimum-variance portfolio, but instead of using the variance-covariance matrix of the asset returns, the correlation matrix is utilised as dispersion measure. The weights are then recovered by rescaling the optimal solution with the assets' standard deviations and normalizing, such that the weights sum to one.


An object of formal class "PortSol".


The optimisation is conducted by calling cccp().


Bernhard Pfaff


Choueifaty, Y. and Coignard, Y. (2008): Toward Maximum Diversification, Journal of Portfolio Management, Vol. 34, No. 4, 40–51.

Choueifaty, Y. and Coignard, Y. and Reynier, J. (2011): Properties of the Most Diversified Portfolio, Working Paper,

See Also



Rets <- returnseries(MultiAsset, method = "discrete", trim = TRUE)

Example output

Loading required package: cccp
Loading required package: Rglpk
Loading required package: slam
Using the GLPK callable library version 4.52
Loading required package: timeSeries
Loading required package: timeDate
Financial Risk Modelling and Portfolio Optimisation with R (version 0.4-1)

Iteration: 0
pobj: 0.11477
dobj: -0.961072
pinf: 0
dinf: 3.76706
dgap: 1.07584

Iteration: 1
pobj: 0.113632
dobj: 0.00263219
pinf: 2.22045e-16
dinf: 0.387308
dgap: 0.111

Iteration: 2
pobj: 0.110322
dobj: 0.0805013
pinf: 2.22045e-16
dinf: 0.095544
dgap: 0.0298208

Iteration: 3
pobj: 0.107587
dobj: 0.0965035
pinf: 4.44089e-16
dinf: 0.0295032
dgap: 0.0110831

Iteration: 4
pobj: 0.105282
dobj: 0.102542
pinf: 8.88178e-16
dinf: 0.00180192
dgap: 0.00273982

Iteration: 5
pobj: 0.10454
dobj: 0.103948
pinf: 1.55431e-15
dinf: 9.80713e-05
dgap: 0.000592444

Iteration: 6
pobj: 0.104348
dobj: 0.10421
pinf: 3.10862e-15
dinf: 8.12006e-06
dgap: 0.000138232

Iteration: 7
pobj: 0.104303
dobj: 0.104281
pinf: 6.21725e-15
dinf: 3.19953e-07
dgap: 2.13694e-05

Iteration: 8
pobj: 0.104297
dobj: 0.104295
pinf: 1.17684e-14
dinf: 2.46719e-08
dgap: 2.67608e-06

Iteration: 9
pobj: 0.104297
dobj: 0.104296
pinf: 2.10942e-14
dinf: 5.00253e-09
dgap: 6.11958e-07

Iteration: 10
pobj: 0.104297
dobj: 0.104297
pinf: 3.93019e-14
dinf: 6.97906e-10
dgap: 1.06644e-07

Iteration: 11
pobj: 0.104297
dobj: 0.104297
pinf: 7.54952e-14
dinf: 5.72651e-11
dgap: 1.18903e-08

Optimal solution found.

Optimal weights for porfolio of type:
Most Diversifified

   GSPC     RUA   GDAXI    FTSE    N225     EEM  DJCBTI   GREXP  BG05.L     GLD 
 1.0085  0.3900  9.6982  0.0000  4.6582  0.0000 11.4064 65.2395  1.6210  5.9782 

FRAPO documentation built on May 31, 2017, 3:27 a.m.

Search within the FRAPO package
Search all R packages, documentation and source code