QuantLib + Python:ターゲット()マクロとデフォルトのカレンダー(RuntimeError:オプションの有効期限)
-
13-12-2019 - |
質問
QUATTLIBを使用して歴史的なデータの計算を実行しています。
必要なフレームワーク(曲線など)を設定した後、option.ImpliedVolatility()
を呼び出すと、次の例外がスローされます(有効期限が切れたオプションの場合):
File "/usr/local/lib/python2.6/dist-packages/QuantLib/QuantLib.py", line 3683, in impliedVolatility
def impliedVolatility(self, *args): return _QuantLib.VanillaOption_impliedVolatility(self, *args)
RuntimeError: option expired
.
必要な曲線を設定するためのコード行の抜け止めを以下に示します。
dividend_yield = YieldTermStructureHandle(FlatForward(0, TARGET(), div_yield, Actual365Fixed()))
risk_free_rate = YieldTermStructureHandle(FlatForward(0, TARGET(), rf_rate, Actual365Fixed()))
volatility = BlackVolTermStructureHandle(BlackConstantVol(0, TARGET(), annualized_histvol, Actual360()))
.
i crowly TARGET()
マクロがデフォルトで現在のシステム日付に使用されていると疑わしい。
特定の歴史的日を使用するようにライブラリをどのように設定しますか?
解決
評価日は、実行して、
を実行して設定します。Settings.instance().evaluationDate = Date(14,March,2010)
.
計算前に。設定されていない場合は、デフォルトが疑われると現在の日付になります。
ターゲットカレンダーは、祝日の何日かを曲線に伝えますが、評価日自体には影響しません。
所属していません StackOverflow