diff options
Diffstat (limited to 'python/analytics')
| -rw-r--r-- | python/analytics/basket_index.py | 6 | ||||
| -rw-r--r-- | python/analytics/tranche_basket.py | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/python/analytics/basket_index.py b/python/analytics/basket_index.py index 4dd02e8f..3dfcbb9e 100644 --- a/python/analytics/basket_index.py +++ b/python/analytics/basket_index.py @@ -12,6 +12,7 @@ from math import exp import datetime from scipy.optimize import brentq from pandas.tseries.offsets import Day, BDay +from pyisda.cdsone import upfront_charge def make_index(t, d, args): instance = t.__new__(t) @@ -213,6 +214,11 @@ class BasketIndex(CreditIndex): self.tweaks.append(eps) self.tweak_portfolio(eps, m) + def _snacpv(self, spread, coupon, recov): + return upfront_charge(self.trade_date, self.value_date, self.start_date, + self.step_in_date, self.start_date, self.maturity, + coupon, self.yc, spread, recov) + class MarkitBasketIndex(BasketIndex): def __init__(self, index_type: str, series: int, tenors: List[str], *, trade_date: pd.Timestamp=pd.Timestamp.today().normalize() - BDay()): diff --git a/python/analytics/tranche_basket.py b/python/analytics/tranche_basket.py index 9049505e..1255f639 100644 --- a/python/analytics/tranche_basket.py +++ b/python/analytics/tranche_basket.py @@ -6,7 +6,6 @@ from .tranche_functions import ( from .index_data import get_singlenames_curves, get_tranche_quotes from collections import namedtuple from copy import deepcopy -from pyisda.cdsone import upfront_charge from pandas.tseries.offsets import BDay from scipy.optimize import brentq from scipy.interpolate import CubicSpline, PchipInterpolator @@ -79,11 +78,6 @@ class TrancheBasket(BasketIndex): self._snacpv(refspread * 1e-4, self.coupon(self.maturity), self.recovery)} raise ValueError("ref is missing") - def _snacpv(self, spread, coupon, recov): - return upfront_charge(self.trade_date, self.value_date, self.start_date, - self.step_in_date, self.start_date, self.maturity, - coupon, self.yc, spread, recov) - @property def default_prob(self): sm, tickers = super().survival_matrix(self.cs.index.values.astype('M8[D]').view('int') + 134774) |
