У меня есть следующий код:
import numpy as np
import scipy.stats as si
import sympy as sy
def price(S, K, T, r, vol, call=True):
d1 = (np.log(S / K) + (r + 0.5 * vol ** 2) * T) / (vol * np.sqrt(T))
d2 = (np.log(S / K) + (r - 0.5 * vol ** 2) * T) / (vol * np.sqrt(T))
if call:
price = (S * si.norm.cdf(d1, 0.0, 1.0) - K * np.exp(-r * T) * si.norm.cdf(d2, 0.0, 1.0))
else:
price = (K * np.exp(-r * T) * si.norm.cdf(-d2, 0.0, 1.0) - S * si.norm.cdf(-d1, 0.0, 1.0))
return price
p,S,K,T,r, vol, call = sy.symbols('p S K T r vol call')
exp = p - price(S, K, T, r, vol, call)
Когда я запускаю это, я получаю следующую ошибку: l oop из ufun c не поддерживает аргумент 0 типа Mul, который не имеет вызываемого журнала method
Когда я проверил онлайн, там было упоминание о том, что я не определяю область своей функции журнала, но я сделал это, так что это не проблема. Кто-нибудь может увидеть, что я делаю не так?