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