diff options
Diffstat (limited to 'python/analytics/basket_index.py')
| -rw-r--r-- | python/analytics/basket_index.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/python/analytics/basket_index.py b/python/analytics/basket_index.py index bcf3d17c..83d03421 100644 --- a/python/analytics/basket_index.py +++ b/python/analytics/basket_index.py @@ -4,6 +4,7 @@ from .utils import tenor_t from functools import partial from pandas.util import hash_pandas_object from pyisda.credit_index import CreditIndex +from pyisda.date import previous_twentieth from typing import List from yieldcurve import get_curve import numpy as np @@ -65,6 +66,7 @@ class BasketIndex(CreditIndex): self.step_in_date = value_date + Day() self.cash_settle_date = value_date + 3 * BDay() self.tweaks = [] + self.start_date = previous_twentieth(value_date) super().__init__(self.issue_date, maturities, curves, value_date=value_date) def __reduce__(self): @@ -118,6 +120,7 @@ class BasketIndex(CreditIndex): self.yc = get_curve(d, self.currency) self.step_in_date = d + Day() self.cash_settle_date = d + 3 * BDay() + self.start_date = previous_twentieth(d) # or d + 1? CreditIndex.value_date.__set__(self, d) @property @@ -233,9 +236,9 @@ class BasketIndex(CreditIndex): self.tweaks.append(eps) self.tweak_portfolio(eps, m) - def _snacpv(self, spread, coupon, recov): + def _snacpv(self, spread, coupon, recov, maturity): return upfront_charge(self.value_date, self.cash_settle_date, self.start_date, - self.step_in_date, self.start_date, self.maturity, + self.step_in_date, self.start_date, maturity, coupon, self.yc, spread, recov) class MarkitBasketIndex(BasketIndex): |
