1

我正在使用 Quantlib 对历史数据进行计算。

设置所需的框架(曲线等)后,当我调用时,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()))

强烈怀疑使用的TARGET()宏默认为当前系统日期。

如何设置图书馆以使用特定的历史日期?

4

1 回答 1

2

评估日期是通过运行来设置的,比如说,

Settings.instance().evaluationDate = Date(14,March,2010)

在计算之前。如果未设置,则默认为您怀疑的当前日期。

TARGET 日历只是告诉曲线哪些日子是假期,但对评估日期本身没有影响。

于 2012-08-24T11:06:50.700 回答