aboutsummaryrefslogtreecommitdiffstats
path: root/python/analytics
diff options
context:
space:
mode:
Diffstat (limited to 'python/analytics')
-rw-r--r--python/analytics/index.py18
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)