diff options
| -rw-r--r-- | python/analytics/basket_index.py | 15 | ||||
| -rw-r--r-- | python/analytics/index_data.py | 3 |
2 files changed, 6 insertions, 12 deletions
diff --git a/python/analytics/basket_index.py b/python/analytics/basket_index.py index 6f72731a..95cba211 100644 --- a/python/analytics/basket_index.py +++ b/python/analytics/basket_index.py @@ -1,4 +1,4 @@ -from .index_data import get_index_quotes, get_singlenames_curves +from .index_data import get_index_quotes, get_singlenames_curves_prebuilt from . import serenitas_engine from .utils import tenor_t, get_fx from functools import partial @@ -79,13 +79,7 @@ class BasketIndex(CreditIndex): maturities = self.index_desc.maturity.dt.to_pydatetime() self.index_desc = self.index_desc.reset_index().set_index("maturity") self.index_desc.tenor = self.index_desc.tenor.astype(tenor_t) - max_tenor = int(tenors[-1][:-2]) - self._curve_tenors = tuple( - t for t in (0.5, 1, 2, 3, 4, 5, 7, 10) if t <= max_tenor - ) - curves = get_singlenames_curves( - index_type, series, value_date, self._curve_tenors - ) + curves = get_singlenames_curves_prebuilt(index_type, series, value_date) self.currency = "EUR" if index_type in ["XO", "EU"] else "USD" self.yc = get_curve(value_date, self.currency) @@ -162,9 +156,7 @@ class BasketIndex(CreditIndex): @value_date.setter def value_date(self, d: pd.Timestamp): - self.curves = get_singlenames_curves( - self.index_type, self.series, d, self._curve_tenors - ) + self.curves = get_singlenames_curves_prebuilt(self.index_type, self.series, d) self.yc = get_curve(d, self.currency) self._fx = get_fx(d, self.currency) self.step_in_date = d + Day() @@ -426,3 +418,4 @@ if __name__ == "__main__": ) sp = ig28.survival_matrix() +_ diff --git a/python/analytics/index_data.py b/python/analytics/index_data.py index 839d99d2..682c5981 100644 --- a/python/analytics/index_data.py +++ b/python/analytics/index_data.py @@ -251,7 +251,8 @@ def get_singlenames_curves( return fun(index_type, series, min(datetime.date.today(), trade_date), tenors) -def get_singlenames_curves2(index_type, series, trade_date): +def get_singlenames_curves_prebuilt(index_type, series, trade_date): + """ load cds curves directly from cds_curves table """ if isinstance(trade_date, datetime.datetime): trade_date = trade_date.date() conn = serenitas_pool.getconn() |
