Buongiorno. Devo implementare su MATLAB un modello di selezione di portafoglio (l'MDP).
In base a quanto trovato nella letteratura questo può essere risolto in due modi diversi. Il primo, quello suggerito inizialmente dall'autore (vedi Chouefaity e Coignard, 2008) propone di sintetizzare i titoli in modo da portare ad avere una volatilità normalizzata ad 1. In questo modo per massimizzare la funzione obiettivo basterà minimizzare la varianza di portafoglio. Poi, per tornare ai pesi originali, sarà sufficiente dividere quelli "sintetici" per le rispettive volatilità.
Io ho fatto tutto ciò ma quando vado a calcolare i pesi reali non è più rispettato il vincolo per cui la somma dei pesi deve essere paria 1. Perchè?
Un secondo modo, suggerito sempre dall'autore (vedi Chouefaity et al., 2011) prevede che il modello possa essere visto anche come
min 1/2 ln(x'Sx) - ln(x's) dove S è la matrice varianze covarianze e s è il vettore delle deviazioni standard. Se non ci fosse il logaritmo sarebbe un semplice problema di ottimizzazione quadratica con S come matrice che definisce la forma quadrativa e s che definisce la forma lineare. Con il logaritmo invece? Come posso risolverlo con quadprog? Con fmincon il problema si risolve in modo molto banale, ma c'è un modo per renderlo quadratico?
Grazie