aboutsummaryrefslogtreecommitdiffstats
path: root/python/analytics
diff options
context:
space:
mode:
Diffstat (limited to 'python/analytics')
-rw-r--r--python/analytics/index.py5
-rw-r--r--python/analytics/utils.py11
2 files changed, 2 insertions, 14 deletions
diff --git a/python/analytics/index.py b/python/analytics/index.py
index f27bef6d..85842d15 100644
--- a/python/analytics/index.py
+++ b/python/analytics/index.py
@@ -148,7 +148,7 @@ class Index(object):
raise ValueError("Direction needs to be either 'Buyer' or 'Seller'")
def _update(self):
- self._sc = SpreadCurve(self.value_date, self._yc, self.start_date,
+ self._sc = SpreadCurve(self._yc.base_date, self._yc, self.start_date,
self._step_in_date, self._cash_settle_date,
[self.end_date], np.array([self._spread]), np.zeros(1),
np.array([self.recovery]))
@@ -313,9 +313,6 @@ class Index(object):
d = d.date()
self.start_date = previous_twentieth(d)
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)
self._value_date = d
self._step_in_date = d + datetime.timedelta(days=1)
self._accrued = self._fee_leg.accrued(self._step_in_date)
diff --git a/python/analytics/utils.py b/python/analytics/utils.py
index 0341b7cc..f56d376d 100644
--- a/python/analytics/utils.py
+++ b/python/analytics/utils.py
@@ -3,7 +3,7 @@ import pandas as pd
from scipy.special import h_roots
from dateutil.relativedelta import relativedelta, FR
import datetime
-from pyisda.date import pydate_to_TDate
+from pyisda.date import pydate_to_TDate, previous_twentieth
from pandas.api.types import CategoricalDtype
from quantlib.time.date import nth_weekday, Wednesday, Date
@@ -14,15 +14,6 @@ def GHquad(n):
Z, w = h_roots(n)
return Z*np.sqrt(2), w/np.sqrt(np.pi)
-def previous_twentieth(d):
- r = d + relativedelta(day=20)
- if r > d:
- r -= relativedelta(months=1)
- mod = r.month % 3
- if mod != 0:
- r -= relativedelta(months=mod)
- return r
-
def next_twentieth(d):
r = d + relativedelta(day=20)
if(r < d):