1

Python を使用している場合、QuantLib の便利な関数の 1 つを使用できません。これは、QuantLib マニュアル (Jupyter ノートブックの 1 つ) からの簡単な例です。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

MacO (10.11.6) に QuantLib v.1.9.1 をインストールしました。多くの機能は正常に動作しますが、価格設定エンジンがセットアップされ、SimpleQuote でいくつかの変更を加えてオプションの価格を変更したい場合、モデルに関係なく、次のポップアップが表示されます。「カーネルが停止したようです。自動的に再起動します。」

Python REPL で同じスクリプトを使用すると、「Segmentation fault: 11」が発生します。

この状況に対処した人はいますか?問題を解決する方法について何か提案はありますか? それとも私は何か間違ったことをしていますか?Windowsで同じ問題が発生した人はいますか? そこで動作する場合は、Windows に切り替えることができます。

どうもありがとう!

4

1 に答える 1