Question

J'utilise QUANTLIB pour effectuer des calculs sur les données historiques.

Après la configuration du cadre requis (courbes, etc.), lorsque j'appelle option.ImpliedVolatility(), je reçois l'exception suivante levée (pour les options qui ont expiré):

  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 extrait des lignes de code de configuration des courbes requises, etc. est présentée ci-dessous:

        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 fortement soupçonnez que la macro TARGET() utilise les valeurs par défaut de la date du système actuel.

Comment puis-je configurer la bibliothèque pour utiliser une date historique spécifique?

Était-ce utile?

La solution

La date d'évaluation est définie en exécutant, par exemple,

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

Avant les calculs.Si non défini, il est par défaut à la date actuelle que vous soupçonnez.

Le calendrier cible dit simplement à la courbe quels jours sont des jours fériés, mais n'a aucun effet sur la date d'évaluation elle-même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top