Настройка решателя SOCP в «R»

Я пытаюсь использовать пакет Rsocp в R для решения задачи линейной оптимизации с квадратичными ограничениями. Как и в R - fPortfolio - Error в eqsumW[2, -1] : нижний индекс выходит за пределы

В частности, я пытаюсь максимизировать ожидаемую доходность с учетом целевого параметра риска и лимитов портфеля/позиции.

install.packages("Rsocp", repos="http://R-Forge.R-project.org")
install.packages("fPortfolio")
require(fPortfolio)
require(Rsocp)

я бегу

lppData=100*LPP2005.RET[,1:6] 
maxRetSpec=portfolioSpec() 
setTargetRisk(maxRetSpec)=0.07
groupConstraints <- c("minsumW[1:6]=-.75",
                    "maxsumW[1:6]=1.75")
boxConstraints <- c("minW[1:6]=-1",
                    "maxW[1:6]=1")
bgConstraints <- c(groupConstraints, boxConstraints)
setSolver(maxRetSpec)="solveRsocp"
efficientPortfolio(data=lppData, spec=maxRetSpec, constraints=bgConstraints) 

и получаю следующую ошибку...

Error in eqsumW[2, -1] : subscript out of bounds

Насколько я понимаю, Rsocp — это решатель конусов второго порядка, разработанный специально для этой цели. Пройдя через несколько различных форумов по обмену стеками, кажется, что есть несколько человек, которые столкнулись с этой проблемой с неудовлетворительными решениями. Мне было интересно, добился ли кто-нибудь успеха с помощью решателя Rsocp, который мог бы помочь мне справиться с этой ошибкой? Или, в качестве альтернативы, может ли кто-нибудь указать мне на решатель «R», который может справиться с проблемой оптимизации этого типа?


person Fanderson    schedule 22.01.2016    source источник
comment
Предоставьте минимальный, полный и воспроизводимый пример, который любой другой может просто скопировать и вставить в свой сеанс для запуска. Все операторы библиотеки и входные данные должны быть включены. Сократите свои данные до минимума, необходимого для иллюстрации проблемы. См.: stackoverflow.com/help/mcve.   -  person G. Grothendieck    schedule 23.01.2016
comment
Салют Бостону, @Fanderson. Возможно, вы уже знаете, что StackOverflow применяет политику кода MCVE для публикации вопросов. Не могли бы вы добавить и обновить такой M-минимальный C-полный V-проверяемый E-пример код, который можно запустить и который повторяет проблему, с которой вы столкнулись? Это было бы именно то, что StackOverflow определил в Сетевом этикете сообщества как часть желательной привычки профессионального сообщества. В любом случае, добро пожаловать и наслаждайтесь этим великим сообществом и станьте активным и полезным членом огромной группы знаний, которую поддерживают люди со всего мира   -  person user3666197    schedule 23.01.2016
comment
Извините, что не перечислил вышеуказанные пакеты в оригинале, я думаю, что приведенный выше код должен работать, набор данных является частью пакета fPortfolio.   -  person Fanderson    schedule 25.01.2016