Sto cercando di utilizzare solve.QP per risolvere un problema di ottimizzazione del portafoglio (problema quadratica)r - Portfolio Optimization - solve.QP - I vincoli sono incoerenti
Totale 3 Attività
Ci sono 4 vincoli:
- somma dei pesi pari a 1
- portafoglio rendimento atteso è pari al 5,2%
- ogni peso risorsa maggiore di 0
- ciascun peso risorsa più piccolo .5
DMAT è la matrice di covarianza
Dmat <- matrix(c(356.25808, 12.31581, 261.8830, 212.31581, 27.24840, 18.50515, 261.88302, 18.50515,535.45960), nrow=3, ncol=3)
dvec è rendimento atteso di ciascuna risorsa
dvec <- matrix(c(9.33, 3.33, 9.07), nrow=3, ncol=1)
Amat è la matrice dei vincoli
A.Equality <- matrix(c(1,1,1), ncol=1)
Amat <- cbind(A.Equality, dvec, diag(3), -diag(3))
vincolo A^T b> = b_0, b vettore
bvec <- c(1, 5.2, rep(0, 3), rep(-0.5, 3))
meq = 2, poiché ci sono due vincoli di uguaglianza, primo e secondo sono vincoli parità
Poi corro la funzione solve.QP
library(quadprog)
qp <- solve.QP(Dmat, dvec, Amat, bvec, meq=2)
Ma dà l'errore
Error in solve.QP(Dmat, dvec, Amat, bvec, meq = 2) : constraints are inconsistent, no solution!
non sono sicuro dove ho sbagliato.