Quantlib 1.9.1 в Python ломается после вызова SimpleQuote.setValue

Я не могу использовать одну из полезных функций в QuantLib при использовании Python. Вот простой пример из руководства QuantLib (один из ноутбуков Jupyter). Я воспроизводю фрагмент кода, который надежно ломается на моем Mac.

from QuantLib import *
today = Date(7, March, 2014)
Settings.instance().evaluationDate = today
option = EuropeanOption(PlainVanillaPayoff(Option.Call, 100.0),
                        EuropeanExercise(Date(7, June, 2014)))
u = SimpleQuote(100.0)
r = SimpleQuote(0.01)
sigma = SimpleQuote(0.20)
riskFreeCurve = FlatForward(0, TARGET(), QuoteHandle(r), Actual360())
volatility = BlackConstantVol(0, TARGET(), QuoteHandle(sigma), Actual360())
process = BlackScholesProcess(QuoteHandle(u),
                              YieldTermStructureHandle(riskFreeCurve),
                              BlackVolTermStructureHandle(volatility))
engine = AnalyticEuropeanEngine(process)
option.setPricingEngine(engine)
print option.NPV()
u.setValue(105.0) ### <= this step is broken

Я установил QuantLib v.1.9.1 на свои MacO (10.11.6). Многие функции работают нормально, но как только настроен механизм ценообразования, и я хочу пересмотреть опцию с некоторыми изменениями в SimpleQuote, независимо от модели, я получаю следующее всплывающее окно: "Ядро, похоже, умерло. Оно перезапустится автоматически".

Когда тот же сценарий используется в Python REPL, я получаю "Ошибка сегментации: 11"

Кто-нибудь имел дело с этой ситуацией? Любые предложения о том, как решить проблему? Или я что-то делаю неправильно? Кто-нибудь испытывает такую ​​же проблему на Windows? Я могу переключиться на Windows, если она там работает.

Большое спасибо!

1 ответ

Кажется, у вас есть проблемы с вашей установкой. Сценарий корректен и должен работать в Windows (и, возможно, в Mac OS - вы также можете попробовать проверить флаги компиляции, предложенные в инструкциях). Если вы знакомы с Docker, другой возможностью является загрузка и запуск предварительно скомпилированного сервера ноутбуков IPython из Docker Hub. Это тот же образ Docker, который я использую для запуска ноутбуков, которые вы пробовали.

Другие вопросы по тегам