使用 python 时,我无法使用 QuantLib 中的一个有用函数。这是来自 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
我在我的 MacOs (10.11.6) 上安装了 QuantLib v.1.9.1。许多功能都可以正常工作,但是一旦设置了定价引擎并且我想通过 SimpleQuote 中的一些更改来重新定价选项,独立于模型我得到这个弹出窗口:“内核似乎已经死了。它将自动重新启动。”
在 Python REPL 中使用相同的脚本时,我得到“分段错误:11”
有人处理过这种情况吗?关于如何解决问题的任何建议?或者我做错了什么?有人在 Windows 上遇到同样的问题吗?如果它在那里工作,我可以切换到 Windows。
非常感谢!