w является функцией w (и параметров). Ограничить это означает ограничение, wчтобы sigma_sumудовлетворять некоторому условию. Это предполагает наличие вызываемого, возвращающего значение, включающее sigma_sum, например:
c2_ = ({'type':'eq', 'fun': lambda w: sigma_sum(w) - 42})
где sigma_sumопределено
def sigma_sum(w, assets, rf=0., dt='2016-12-30'):
mu = float(ptf_mean(assets,w,dt))
sigma = float(ptf_var(assets,w,dt))
return sigma.sum()
Чтобы избежать дублирования кода, вы, вероятно, захотите использовать это sigma_sumв своей функции, которая вычисляет цель.