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