R / PortfolioAnalytics optimize.portfolio ()

Я потратил несколько часов, пытаясь понять, что требуется для успешного использования функции optimize.portfolio () из пакета PortfolioAnalytics, но я получаю несколько ошибок, несмотря на попытки различных методов optimize_methods (например, «DEoptim», «ROI»).

После установки PortfolioAnalytics я попытался запустить optimize.portfolio () после указания ограничений портфеля, но получил следующую ошибку:

Ошибка: paste0 ("package:", plugin)% в% search () || requireNamespace (plugin, .... НЕ ИСТИНА

Пытался скачать «плагин», но получаю:

Warning in install.packages : package ‘plugin’ is not available (for R version 3.3.1)

Я предпочитаю optimize_method «ROI», и я установил пакет «ROI», но все еще получаю сообщение об ошибке, требующее «plugin».

Я попытался обойти эту проблему, установив вручную «DEoptim», но мне все еще не удается запустить optimize.portfolio ():

pspec <- portfolio.spec(assets=names(fxreturns))

pspec <- add.constraint(pspec,type = "diversification", div_target = 0.5)
pspec <- add.constraint(pspec,type = "return",return_target=0.05)
pspec <- add.constraint(pspec,type = "leverage")

optimize.portfolio(fxreturns,portfolio = pspec,optimize_method = "DEoptim")

Несмотря на загрузку нескольких пакетов (почему бы R автоматически не установить необходимые пакеты при первой установке «PortfolioAnalytics»?), Я получаю следующую ошибку при запуске «DEoptim»:

Ошибка в seq.default (from = round (min, rounding), to = round (max, rounding),: 'from' не может быть NA, NaN или бесконечным

Для справки, вот все загруженные мной пакеты:

library(quantmod)
library(tseries)
library(PerformanceAnalytics)
library(PortfolioAnalytics)
library(xts)
library(timeSeries)
library(TTR)
require(Rblpapi)
require(reshape2)
require(xlsx)
require(Hmisc)
require(ROI)
require(data.table)
require(DEoptim)

person user2662565    schedule 02.02.2017    source источник
comment
Вы когда-нибудь решали эту проблему? Потому что у меня были те же сообщения об ошибках, и ответ Уоррика Ричи ниже, похоже, исправил это.   -  person lebelinoz    schedule 07.08.2017


Ответы (2)


У меня была та же проблема, я перешел на страницу PortfolioAnalytics cran и установил все свои предложения:

library(foreach)
library(DEoptim)
library(iterators)
library(fGarch)
library(Rglpk)
library(quadprog)
library(ROI)
library(ROI.plugin.glpk)
library(ROI.plugin.quadprog)
library(ROI.plugin.symphony)
library(pso)
library(GenSA)
library(corpcor)
library(testthat)
library(nloptr)
library(MASS)
library(robustbase)

Не уверен, какой из них сработал, но подозреваю, что это пакеты плагинов ROI.

person Warric Ritchie    schedule 12.02.2017

Мне помог пакет:

library(ROI.plugin.quadprog)
person Jānis    schedule 10.07.2020