类型错误:<lambda>()缺少2个必需的位置参数:“lnS”和“T”

2024-04-18 12:41:15 发布

您现在位置:Python中文网/ 问答频道 /正文

TypeError:()缺少2个必需的位置参数:“lnS”和“T”

我试图在不同的地方声明变量'lnS'和'T'。在

代码如下:

    def minimize(param):

        CF=lambda u, lnS, T:\
        cf_log_cgmy(u=u, lnS=lnS, T=Tmt, mu=r, half_etasq=param[4],\
                    C=param[0], G=param[1], M=param[2], Y=param[3])
        Call_price_CM_CF(CF, lnS)

        sum = 0
        for i in range(0,len(prices_oom)):
            a = Call_price_CF_K(np.log(strike_oom[i])) - prices_oom[i]
            sum = sum+a*a
        return sum




错误是:

^{2}$

Tags: 代码log声明参数paramdef地方call
1条回答
网友
1楼 · 发布于 2024-04-18 12:41:15
def psi(CF, GLOBALVJ, GLOBALALPHA, lnS, GLOBALT):

    u=GLOBALVJ-(GLOBALALPHA*1j+1j)

    denom = GLOBALALPHA**2 + GLOBALALPHA - Sigma**2 + GLOBALVJ * 2 * GLOBALALPHA * 1j + 1j * GLOBALVJ

    return CF(u)/denom

问题就在这里。在psi函数中,您正在调用lambda CF,但是只传递一个参数。根据你的申报单,预计有3个

^{pr2}$

相关问题 更多 >