You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CVXR优化PortfolioAnalytics的EQS目标时意外失败

PortfolioAnalytics 优化CVXR方法报错问题

我使用PortfolioAnalytics::optimize.portfolio()并指定optimize_method = "CVXR"已有六个月,此前运行正常,但最近同一命令突然报错,错误信息如下:

Error in PortfolioAnalytics::optimize.portfolio(plnt_returns, plnt_EQSratio, :
CVXR only solves mean, var/sd/StdDev and ETL/ES/CVaR/CSM/EQS type business objectives, choose a different optimize_method.

复现步骤

library(PortfolioAnalytics)
library(CVXR)
library(xts)

set.seed(123)
dates <- seq(as.Date("2023-01-01"), by = "days", length.out = 200)
plnt_returns <- xts(matrix(rnorm(200 * 5), ncol = 5), order.by = dates)
colnames(plnt_returns) <- paste0("Asset", 1:5)
assets <- names(plnt_returns)

plnt_EQSratio <- portfolio.spec(assets = assets)
plnt_EQSratio <- add.constraint(plnt_EQSratio, type = "full_investment")
plnt_EQSratio <- add.constraint(plnt_EQSratio, type = "long_only")
plnt_EQSratio <-
  add.constraint(
    plnt_EQSratio,
    type = "box",
    min = rep(0, length(assets)),
    max = rep(0.5, 5)
  )
plnt_EQSratio <- add.objective(plnt_EQSratio, type = "return", name = "mean")
plnt_EQSratio <- add.objective(plnt_EQSratio, type = "risk", name = "EQS", arguments = list(p = 0.05))

opt_EQSratio <- PortfolioAnalytics::optimize.portfolio(plnt_returns, plnt_EQSratio, optimize_method = "CVXR", ESratio = TRUE)

环境版本

  • R版本:4.4.3 (2025-02-28)
  • 平台:x86_64-pc-linux-gnu
  • 运行系统:Ubuntu 22.04.5 LTS

已加载的包:

  • tidyverse_2.0.0
  • CVXR_1.0-15
  • PortfolioAnalytics_2.1.0
  • xts_0.14.0

内容的提问来源于stack exchange,提问作者Shahab Einabadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 02:37:11