Próbuję użyć solve.QP do rozwiązania problemu optymalizacji portfela (kwadratowa problem)r - Optymalizacja portfela - solve.QP - Ograniczenia są niespójne
Razem aktywa 3
Istnieją 4 Ograniczenia:
- suma wag równe 1
- portfela oczekuje powrotu wynosi 5,2%
- każdy składnik masy większy niż 0
- każdy ciężar składnik mniejszy niż .5
Dmat jest macierzą kowariancji
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 Oczekuje powrotu każdy zasób jest
dvec <- matrix(c(9.33, 3.33, 9.07), nrow=3, ncol=1)
Amat macierz ograniczenie
A.Equality <- matrix(c(1,1,1), ncol=1)
Amat <- cbind(A.Equality, dvec, diag(3), -diag(3))
ograniczenie a^t b> = b_0 b wektor
bvec <- c(1, 5.2, rep(0, 3), rep(-0.5, 3))
meq = 2, ponieważ istnieją dwa ograniczenia równości, pierwsze i drugie ograniczenia są równość
Potem uruchamiane funkcja solve.QP
library(quadprog)
qp <- solve.QP(Dmat, dvec, Amat, bvec, meq=2)
Ale daje błąd
Error in solve.QP(Dmat, dvec, Amat, bvec, meq = 2) : constraints are inconsistent, no solution!
nie jestem pewien, gdzie zrobiłem źle.