diff options
Diffstat (limited to 'python/analytics/index.py')
| -rw-r--r-- | python/analytics/index.py | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/python/analytics/index.py b/python/analytics/index.py index 9ec3b7ac..0da98e47 100644 --- a/python/analytics/index.py +++ b/python/analytics/index.py @@ -5,17 +5,16 @@ import pandas as pd from pyisda.legs import ContingentLeg, FeeLeg from quantlib.settings import Settings -from quantlib.time.api import ( - Date, Schedule, WeekendsOnly, CDS, Following, - Unadjusted, Period, pydate_from_qldate ) +from quantlib.time.api import Date, Actual365Fixed from termcolor import colored from pandas.tseries.offsets import BDay from dates import prev_immdate from db import dbconn from psycopg2 import DataError from pyisda.curve import SpreadCurve +from .utils import previous_twentieth from yieldcurve import YC, ql_to_jp, roll_yc, rate_helpers -from quantlib.time.api import Actual365Fixed + serenitasdb = dbconn('serenitasdb') @@ -35,13 +34,6 @@ class Index(): """ self.fixed_rate = fixed_rate self.notional = notional - self._sched = Schedule(Date.from_datetime(start_date), - Date.from_datetime(end_date), - Period("3M"), - WeekendsOnly(), - Following, - Unadjusted, - CDS) self._start_date = start_date self._end_date = end_date self.recovery = recovery @@ -67,26 +59,12 @@ class Index(): self._fee_leg = FeeLeg(d, self.end_date, True, 1, 1) self._default_leg = ContingentLeg(d, self.end_date, 1) self._start_date = d - self._sched = Schedule(Date.from_datetime(d), - Date.from_datetime(self.end_date), - Period("3M"), - WeekendsOnly(), - Following, - Unadjusted, - CDS) @end_date.setter def end_date(self, d): self._fee_leg = FeeLeg(self.start_date, d, True, 1, 1) self._default_leg = ContingentLeg(self.start_date, d, 1) self._end_date = d - self._sched = Schedule(self.start_date, - d, - Period("3M"), - WeekendsOnly(), - Following, - Unadjusted, - CDS) def forward_annuity(self, exercise_date): step_in_date = exercise_date + datetime.timedelta(days=1) @@ -226,8 +204,7 @@ class Index(): def trade_date(self, d): settings = Settings() settings.evaluation_date = Date.from_datetime(d) - self.start_date = pydate_from_qldate( - self._sched.previous_date(settings.evaluation_date)) + self.start_date = previous_twentieth(d) self._helpers = rate_helpers(self.currency) self._ql_yc = YC(self._helpers) self._yc = ql_to_jp(self._ql_yc) |
