Pythonを使用しているときに、QuantLibの便利な機能の1つを使用することはできません。ここでは、QuantLibマニュアル(Jupyterノートブックの1つ)の簡単な例を示します。私は、Mac上で確実に壊れたコードを再現しています。PythonのQuantlib 1.9.1がSimpleQuote.setValueの呼び出し後に壊れる
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のいくつかの変更を加えてオプションをrepriceしたいのですが、モデルとは関係なく、「カーネルが死んでしまったようです。
同じスクリプトはPython REPLで使用する場合、私は「セグメンテーションフォールトを:11」を取得
誰もがこのような状況に対処?どのように問題を解決するための任意の提案?または私は何かを間違ってやっていますか? Windowsで同じ問題が発生する人はいますか?私はそこに動作する場合、私はWindowsに切り替えることができます。
多くの感謝!
あなたはバグがあるようです。 – SmallChess