错误:目标函数必须返回标量-Python优化?

时间:2018-04-04 04:20:09

标签: python python-3.x

当我在目标函数上运行Python最小化函数时,我得到目标函数必须返回一个标量错误。

for j in range(L):
    out[j, n + 1] = X[j] * out[j, n] - n * out[j, n - 1]

我对上述功能的调用是:

def fun(param,*args):

    alpha=param[0];
    beta=param[1:len(param)]
    t_to_next =args[1] 
    remaining_coupons = args[2]
    coupon_rate = args[3]
    dirty_price = args[4]
    knots = args[5]

    fit_P = []
    f = []
    fit_price = 0.0
    for i in range(0,len(t_to_next)): #first loop for the number of securities
        fit_price=0
        for j in range(0,remaining_coupons[i]):  #second loop for the number of cashflows * m_t
            x = zero_price(t_to_next[i]+0.5*(j),alpha,beta,knots)
            fit_price = fit_price + (float(coupon_rate[i])*0.01 * float(x))

        fit_P.append(fit_price + zero_price(t_to_next[i]+0.5*(remaining_coupons[i]-1),alpha,beta,knots))
        #fit_P.append(fit_price)
        f.append((dirty_price[i]/100 - fit_P[i])**2)

    f_sum=sum(f)
    return f_sum

0 个答案:

没有答案