Я пытаюсь повторить с R эту проблему оптимизации, для которой решатель XL, кажется, выполняет свою работу (я предполагаю, что она достойная); Кажется, я не могу получить пакет / функцию, отмечая все соответствующие поля.
По сути, это задача нелинейной оптимизации с ограничениями неравенства.
Соответствующие элементы проблемы могут быть воспроизведены с помощью этого фрагмента:
varCovar <- matrix(data = c(0.000576046, 0.000126261, 0.00012385, 0.000104201, 5.57911E-05,
0.000126261, 0.000411463, 9.88479E-05, 0.000100924, 0.000109183,
0.00012385, 9.88479E-05, 0.00038341, 6.42237E-05, 5.20799E-05,
0.000104201, 0.000100924, 6.42237E-05, 0.000291617, 4.6866E-05,
5.57911E-05, 0.000109183, 5.20799E-05, 4.6866E-05, 0.000155289),
nrow = 5)
ret <- c(0.01,0.05,0.02,0.035,0.0136)
wgt <- c(0,0.3,0.3,0.3,0.1)
minWgt <- 0
maxWgt <- 0.3
rf <- 0.03
ptfRet <- sum(ret*wgt)
retVar <- sqrt(t(wgt) %*% varCovar %*% wgt)
sr <- (ptfRet-rf)/retVar
Мне нужно максимизировать sr
, изменив wgt
со следующими ограничениями:
сумма (WGT) = 1
wgt <= maxWgt </p>
wgt> = minWgt
Это будет эквивалентный снимок экрана (с ошибкой!) Для решения на основе XL.
Спасибо.