Допустим, у меня есть следующая функция:
import scipy
def fitness(w, assets, rf=0., dt='2016-12-30'):
mu = float(ptf_mean(assets,w,dt))
sigma = float(ptf_var(assets,w,dt))
sigma_sum = sigma.sum()
util = -(mu - rf) / (sigma)
return util
И:
b_ = [(0.,1.) for i in range(2)]
c_ = ({'type':'eq', 'fun': lambda w: sum(w)-1. })
optimized = scipy.optimize.minimize(fitness, np.matrix([1.,0.]), (assets, rf, dt),
method='SLSQP', constraints=c_,bounds=b_)
Теперь, допустим, я хочу ограничиться sigma_sum
.Как я мог сделать это?Все примеры ограничений, которые я видел в документах, меняются только x0
или w
в моем примере.
Я опускаю определение assets
, rf
и dt
, поскольку они на самом деле не связанык проблеме, но предположим, что код скомпилирован.
Спасибо!