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

当它说“投资回报率错误:L_constraint ......”时,错误是什么?

如何解决当它说“投资回报率错误:L_constraint ......”时,错误是什么?

我正在尝试学习投资组合优化。但是,我无法克服这个错误。有人能告诉我解决这个问题的方法吗?

这是我的代码

#calculate 我们投资组合中所有股票的回报

portfolioROC<- na.omit(ROC(portfolioPrices))
head(portfolioROC)

#现在,我们股票投资组合的加权回报

portfolioReturns<- Return.portfolio(portfolioROC)
head(portfolioReturns)
tail(portfolioReturns)

#现在,开始优化投资组合。为了做到这一点,我们现在将开始添加约束和 #我们投资组合的规范

library(PortfolioAnalytics)

#初始化我们的投资组合对象

portf<- portfolio.spec(colnames(portfolioReturns))

#现在,传递一些约束

#constraint 1

portf<- add.constraint(portf,type="weight_sum",min_sum=1,max_sum=1)

#约束 2

#type "Box" 询问每只股票分配多少资金

portf<- add.constraint(portf,type="Box",min=0.10,max=0.4)

#现在,为投资组合添加目标

portf<-add.objective(portf,type="return",name="mean")
portf<-add.objective(portf,type="risk",name="StdDev")

#现在,我们将不得不使用求解器来基本上求解这些权重 #注意,您可以使用不同的求解器。在这种情况下,我们将使用“ROI”,

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

optPort<- optimize.portfolio(portfolioReturns,portf,optimize_method = "ROI")

我在代码的最后部分遇到了问题。它显示错误

Error in ROI::L_constraint(L = Amat,dir = dir.vec,rhs = rhs.vec) : 
  all(c(dim_L[1],n_dir) == n_L_constraints) is not TRUE

解决方法

检查您是否实际安装了指定的软件包。

install.packages(c("ROI","ROI.plugin.glpk","ROI.plugin.quadprog"))

如果 glpk 插件的安装不起作用,请按照指定的教程 here 进行操作。

还要确保您的 portfolioReturns 对象的尺寸正确。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 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”。这是什么意思?