Python中的Quantlib 1.9.1在调用简单说明.setValu

2024-04-26 07:24:55 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用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)上安装了quantlibv.1.9.1。很多函数都可以很好地工作,但是一旦定价引擎设置好了,我想用SimpleQuote中的一些更改来重新定价选项,独立于模型,我会得到这样一个弹出窗口:“内核似乎已经死了。它将自动重新启动。“

当在Python REPL中使用相同的脚本时,我得到“Segmentation fault:11”

有人处理过这种情况吗?对如何解决这个问题有什么建议吗?或者我做错了什么?有人在Windows上遇到过同样的问题吗?如果它在那里工作的话,我可以切换到Windows。你知道吗

非常感谢!你知道吗


Tags: 函数targettodaydateprocesssigmaengine定价
1条回答
网友
1楼 · 发布于 2024-04-26 07:24:55

您的安装似乎有问题。脚本是正确的,应该可以在Windows上运行(也可能在macos上,您还可以尝试仔细检查the instructions中建议的编译标志)。如果您熟悉Docker,另一种可能是从Docker Hub下载并运行预编译的IPython笔记本服务器。这是我用来运行你试过的笔记本电脑的Docker图像。你知道吗

相关问题 更多 >