1

使用 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。

非常感谢!

4

1 回答 1

0

您的安装似乎有问题。该脚本是正确的,并且应该可以在 Windows 上运行(也可能在 Mac OS 上运行——您也可以尝试仔细检查说明中建议的编译标志)。如果您熟悉Docker,另一种可能性是从Docker Hub下载并运行预编译的 IPython 笔记本服务器。它与我用来运行您一直在尝试的笔记本的 Docker 映像相同。

于 2017-02-23T09:06:21.393 回答