微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R中带有PortfolioAnalytics包的gmv_opt错误

如何解决R中带有PortfolioAnalytics包的gmv_opt错误

我有一个xts返回对象,如

retornos_categorias <- an xts object with 20 columns where each column is a return vector

assets <- colnames(retornos_categorias)
portfolio.init <- portfolio.spec(assets)
portfolio.init <- add.constraint(portfolio.init,type = "full_investment")
portfolio.minSD <- add.objective(portfolio = portfolio.init,type="risk",name="StdDev")

portfolio.minSD.opt <- optimize.portfolio(retornos_categorias,portfolio = portfolio.minSD,optimize_method = "ROI_old",trace = TRUE)

当我使用PortfolioAnalytics软件包中的optimize.portfolio时,出现此错误

Error in gmv_opt(R = R,constraints = constraints,moments = moments,: 
  paste0("package:",plugin) %in% search() || requireNamespace(plugin,.... is not TRUE

有人得到这个错误吗?有人知道我为什么得到它以及如何解决它?

谢谢!

解决方法

您很可能会错过(即需要安装)软件包,例如ROI或其中一个插件。但是,如果没有更完整的示例,就很难说出来。


对更新的响应:仍然不是可复制的示例。您不会显示数据,也不会加载/附加所需的软件包。这是一个可重现的示例,它可以在我的系统上运行。这里的“有效”表示它可以正常运行;我没有检查结果。
作为数据,我使用肯尼斯·法文网站上的数据集。尝试调试代码,找出plugin的值;它应该是丢失包的名称。

library("NMOF")
library("PortfolioAnalytics")
library("xts")

R <- French(tempdir(),"17_Industry_Portfolios_CSV.zip")
R <- as.xts(R,as.Date(row.names(R)))
R <- window(R,start = as.Date("2000-01-01"))

retornos_categorias <- R
assets <- colnames(retornos_categorias)
portfolio.init <- portfolio.spec(assets)
portfolio.init <- add.constraint(portfolio.init,type = "full_investment")
portfolio.minSD <- add.objective(portfolio = portfolio.init,type = "risk",name = "StdDev")

portfolio.minSD.opt <- optimize.portfolio(retornos_categorias,portfolio = portfolio.minSD,optimize_method = "ROI_old",trace = TRUE)

函数sessionInfo告诉您使用了哪个R和软件包版本。

> sessionInfo()
## R version 4.0.2 (2020-06-22)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 20.04.1 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/openblas-openmp/libblas.so.3
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-openmp/liblapack.so.3
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_GB.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_US.UTF-8   
##  [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C                 
##  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
## [11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] PortfolioAnalytics_1.1.0   PerformanceAnalytics_2.0.4
## [3] foreach_1.5.0              xts_0.12-0                
## [5] zoo_1.8-8                  NMOF_2.2-0                
## 
## loaded via a namespace (and not attached):
## [1] datetimeutils_0.4-1 compiler_4.0.2      tools_4.0.2        
## [4] parallel_4.0.2      codetools_0.2-16    grid_4.0.2         
## [7] iterators_1.0.12    lattice_0.20-41     quadprog_1.5-8     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?