Quantlib + Python: Macro () Macro y el calendario predeterminado (RunTimeError: Opción Caducó)

StackOverflow https://stackoverflow.com//questions/11708666

Pregunta

Estoy usando Quantlib para realizar cálculos en datos históricos.

Después de configurar el marco requerido (curvas, etc.), cuando llamo option.ImpliedVolatility(), obtengo la siguiente excepción lanzada (para opciones que han caducado):

  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

Un fragmento de las líneas de código para configurar curvas requeridas, etc. se muestra a continuación:

        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 fuertemente sospechoso de que la macro de TARGET() usó los valores predeterminados en la fecha del sistema actual.

¿Cómo puedo configurar la biblioteca para usar una fecha histórica específica?

¿Fue útil?

Solución

La fecha de evaluación se establece en ejecución, por ejemplo,

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

antes de los cálculos.Si no está configurado, por defecto se le da a la fecha actual a medida que se sospecha.

El calendario objetivo solo le dice a la curva qué días son días festivos, pero no tiene ningún efecto en la fecha de evaluación en sí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top