Я хотел бы обработать следующее исключение из py_vollib / py_lets_be_rational определенным образом.
py_lets_be_rational.exceptions.BelowIntrinsicException: The volatility is below the intrinsic value.
Пробовал безуспешно:
from py_vollib.black.implied_volatility import implied_volatility as impl_vol_b
from py_lets_be_rational.exceptions import BelowIntrinsicException
try:
call_vol = impl_vol_b(discounted_option_price, F, K, r, t, type)
except BelowIntrinsicException as e:
if str(e) != 'The volatility is below the intrinsic value':
raise
else:
call_vol = 0
Что я делаю неправильно? любая помощь будет оценена по достоинству.
Глядя на реализация, вы пропускаете точку в конце предложения:
if str(e) != 'The volatility is below the intrinsic value.':
Я не вижу смысла в этой проверке, потому что это всегда будет сообщение, с которым создается исключение.
ой, извините, я узнал об этом и подумал, что на самом деле не отправлял вопрос.