diff options
Diffstat (limited to 'python/analytics/index.py')
| -rw-r--r-- | python/analytics/index.py | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/python/analytics/index.py b/python/analytics/index.py index 0600deb9..70535e6f 100644 --- a/python/analytics/index.py +++ b/python/analytics/index.py @@ -5,9 +5,9 @@ import math import numpy as np import pandas as pd import warnings -import yieldcurve from dateutil.relativedelta import relativedelta + from pyisda.legs import ContingentLeg, FeeLeg from quantlib.settings import Settings from quantlib.time.api import Date, Actual365Fixed @@ -309,22 +309,10 @@ class Index(object): @trade_date.setter def trade_date(self, d): - if isinstance(d, pd.Timestamp): + if isinstance(d, datetime.datetime): d = d.date() - prebuilt_curves = getattr(yieldcurve, '_{}_curves'.format(self.currency)) self.start_date = previous_twentieth(d) - if d in prebuilt_curves: - self._yc = prebuilt_curves[d] - else: - print("cache miss for date: {}".format(d)) - settings = Settings() - settings.evaluation_date = Date.from_datetime(d) - # self._helpers = rate_helpers(self.currency) - # self._ql_yc = YC(self._helpers) - # self._yc = ql_to_jp(self._ql_yc) - ql_yc = YC(currency=self.currency) - self._yc = ql_to_jp(ql_yc) - prebuilt_curves[d] = self._yc + self._yc = get_curve(d, self.currency) # use the rolled forward curve if we price something in the future if self._yc.base_date < d: self._yc = self._yc.expected_forward_curve(d) |
