【发布时间】:2021-01-15 07:39:34
【问题描述】:
我正在尝试使用重新训练为 1 的权重进行最小方差优化。我尝试了多个求解器,但它们要么计算时间太长,要么不精确,因此我想尝试使用 MILP 求解器。 这是我的 Objectif 函数:
library(Rglpk)
funct1 <- function(weight) {
t(weight) %*% covariance_matrix %*% weight
}
约束:
equality <- function(weight) {
a1 <- sum(weight)
return(a1)
}
Rglpk_solve_LP(funct1,equality,c("=="),c(1))
我不断收到错误:
as.numeric(funct1) 中的错误:
无法将类型“闭包”强制为“双”类型的向量
我假设错误是由于函数而存在的,但是如果没有函数,我如何制定优化目标?
【问题讨论】:
-
这对cran.r-project.org/web/packages/Rglpk/Rglpk.pdf 有帮助吗?看一下示例中的结构。如果您需要进一步的帮助,则需要一个可重现的示例。
-
可重现示例的唯一缺失数据是协方差矩阵。例如,可以将 matrix(c(0.14 , 0.46, 0.5,0.45, 0.36, 0.42 , 0.32 , 0.23, 0.75), nrow=3) 用于协方差矩阵
标签: r optimization constraints portfolio