diff options
Diffstat (limited to 'python/analytics/tranche_basket.py')
| -rw-r--r-- | python/analytics/tranche_basket.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/python/analytics/tranche_basket.py b/python/analytics/tranche_basket.py index 53303cc6..9f3cc4fc 100644 --- a/python/analytics/tranche_basket.py +++ b/python/analytics/tranche_basket.py @@ -593,7 +593,7 @@ class DualCorrTranche: warnings.warn(str(e)) if "ref" in kwargs and self.index_type != "BS": quotes = kwargs["ref"] - if isinstance(d, dict): + if isinstance(quotes, dict): ref = quotes[(self.index_type, self.series, self.tenor)] elif isinstance(quotes, float): ref = quotes @@ -636,7 +636,7 @@ class DualCorrTranche: else: d = self.value_date i = 0 - while i < 5: + while i < 10: try: self._skew = Skew.from_desc( self.index_type, self.series, self.tenor, value_date=d @@ -644,10 +644,14 @@ class DualCorrTranche: except MissingDataError as e: logger.warning(str(e)) d -= bus_day - logger.info(f"trying {d}") + logger.info(f"trying {d.date()}") i += 1 else: break + else: + logger.error( + f"Could not find skew data for {self.index_type}{self.series}" + ) moneyness_eq = self.K / self.expected_loss() self.rho = self._skew(moneyness_eq) if self.detach == 100: |
