Python 类型错误:<;lambda>;()缺少2个必需的位置参数:';lnS';和';T';
TypeError:()缺少2个必需的位置参数:“lnS”和“T” 我试图在不同的地方声明变量'lnS'和'T' 代码如下:Python 类型错误:<;lambda>;()缺少2个必需的位置参数:';lnS';和';T';,python,python-3.x,Python,Python 3.x,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=para
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
而错误是:
TypeError: <lambda>() missing 2 required positional arguments: 'lnS' and 'T'
TypeError:()缺少2个必需的位置参数:“lnS”和“T”
问题就在这里。在psi
函数中,您正在调用lambda CF
,但是只传递一个参数。按照你的申报,预计3天
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\u price\u CM\CF到底做了什么?我怀疑错误在于如何在Call\u price\u CM\CF
函数中使用CF
。您可以发布该定义吗?为了方便起见,原始代码和错误消息都保存在GitTolly上。始终将代码和错误消息添加为有问题的文本,而不是链接到外部页面。谢谢您的帮助。
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