使用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上安装了QuantLib v.1.9.1(10.11.6)。许多功能都可以正常工作,但是一旦设置了定价引擎,我想重新定义SimpleQuote中的一些更改选项,独立于模型我得到这个弹出窗口:&#34;内核似乎已经死了。它会自动重启。&#34;
当在Python REPL中使用相同的脚本时,我得到&#34;分段错误:11&#34;
有人处理过这种情况吗?有关如何解决问题的任何建议?或者我做错了什么?有没有人在Windows上遇到同样的问题?如果在那里工作,我可以切换到Windows。
非常感谢!
答案 0 :(得分:0)
您的安装似乎有问题。该脚本是正确的,应该可以在Windows上运行(也可能在Mac OS上运行 - 您也可以尝试仔细检查the instructions中建议的编译标志)。如果您熟悉Docker,另一种可能性是从Docker Hub下载并运行预编译的IPython笔记本服务器。这与我用来运行您尝试过的笔记本的Docker镜像相同。