【发布时间】:2021-04-11 17:22:21
【问题描述】:
如果有人可以帮忙,我无法表达目标函数,这是我的代码:
import numpy as np
def portfolio_return( weights, returns):
return weights.T @ returns
def portfolio_vol( weights, covmatrix):
return np.sqrt(weights.T @ covmatrix @ weights)
def sharp_ratio(er,covmat,w,rf = 0.01):
r_p = portfolio_return(w, er)/100
sigma_p = portfolio_vol(w,cov)/100
return (r_p-rf)/sigma_p
w = mdl.integer_var_list(5,5,30, 'w')
mdl.add_constraint(mdl.sum(w) == 100)
mdl.minimize(-sharp_ratio(quartered_er, cov,np.array(w)))
但我得到这个错误:
ufunc 循环不支持 QuadExpr 类型的参数 0,该参数具有 没有可调用的 sqrt 方法
【问题讨论】: