Ошибка PortfolioAnalytics с функцией gmv_opt

У меня есть скрипт ниже, который создает ошибку. Кто-нибудь знает, как это решить. Я использую последнюю версию R&RStudio, и все пакеты обновлены.

library('quantmod')
library('PortfolioAnalytics')
library('PerformanceAnalytics')

ETF_Names     <- c("IVV","IJH","IWM","EZU","EEM","SCZ","ILF","EPP")

ETF_All        <- lapply(ETF_Names, function(x) getSymbols(x,from="2006-01-01",auto.assign = FALSE))
names(ETF_All) <- ETF_Names

ETF_MR <- do.call(merge,lapply(ETF_All,monthlyReturn))
colnames(ETF_MR) <- ETF_Names

ETF_spec <- portfolio.spec(assets = colnames(ETF_MR))
ETF_spec <- add.constraint(portfolio=ETF_spec, type="full_investment")
ETF_spec <- add.constraint(portfolio=ETF_spec, type="box", min=0, max=1)
ETF.ef <- create.EfficientFrontier(R=ETF_MR['2015'], portfolio=ETF_spec, type="mean-StdDev")

Под сообщением об ошибке:

Error in gmv_opt(R = R, constraints = constraints, moments = moments,  : 
No solution found: Error in UseMethod("as.constraint") : 
no applicable method for 'as.constraint' applied to an object of class "c('matrix', 'list')" 

Раньше никогда не было проблем (я только недавно обновил RStudio и соответствующие пакеты). И вот тогда выскочила ошибка.

Надеюсь, кто-то может помочь


person New_code    schedule 16.07.2016    source источник


Ответы (2)


У меня такая же ошибка.

Попробуйте добавить:

library(ROI)
require(ROI.plugin.glpk)
require(ROI.plugin.quadprog)

Работали на меня.

person Luiz Antônio    schedule 03.01.2017

У меня такая же ошибка.

Вы можете попробовать квадратичную оптимизацию (solve.QP). Смотрите этот ответ

https://stackoverflow.com/a/30650972/2824732

person Robert    schedule 16.07.2016