通过ROI优化R:我的目标函数正确吗?

我有一个投资组合优化问题,在这个问题中,我试图通过更改投资组合资产权重(受各种限制)来最大化二次效用函数。我目前正在为此使用ROI软件包。现在让我们假设没有约束,因为我的问题涉及目标函数。

我有一个预期收益(“ returns”),风险规避系数(“ lambda”)和方差/协方差矩阵(“ VCV”)的向量。我正在尝试最大化此标准组合实用程序功能:

utility = portfolio_return - (1/2) * lambda * portfolio_variance

可以将其编码为R函数,如下所示:

utility <- function(weights,returns=returns,VCV=VCV,lambda=lambda) {
    port_ret <- weights %*% returns
    port_var <- t(weights) %*% (weights %*% VCV)
    util <- port_ret - (1/2) * lambda * port_var 
    return(util)
}

我的优化问题设置如下:

# lambda is risk aversion coefficient,VCV is variance/covariance matrix,# returns is vector of expected asset class returns
objective <- Q_objective(Q = -lambda * VCV,L = returns)

# optimization problem
lp <- OP(objective = objective,maximum = TRUE)

# solution
solution <- ROI_solve(lp,solver = 'quadprog')
optimal_weights <- solution(solution)

基本上,我的问题是此“ Q_objective”目标函数是否与我试图在此处最大化的目标函数匹配?我尝试使用F_objective函数,但无法正常工作。我仍在研究ROI软件包,因此不确定是否可以实现我的目标。

liuzuowei521 回答:通过ROI优化R:我的目标函数正确吗?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3143351.html

大家都在问