diff options
Diffstat (limited to 'python/analytics')
| -rw-r--r-- | python/analytics/index.py | 3 | ||||
| -rw-r--r-- | python/analytics/option.py | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/python/analytics/index.py b/python/analytics/index.py index 8137f63f..3628721f 100644 --- a/python/analytics/index.py +++ b/python/analytics/index.py @@ -95,6 +95,7 @@ class Index(object): self._step_in_date, self._value_date, [self.end_date], np.array([self._spread]), np.zeros(1), np.array([self.recovery])) + self._risky_annuity = self._fee_leg.pv(self.trade_date, self._step_in_date, self._value_date, self._yc, self._sc, False) @@ -279,6 +280,8 @@ class Index(object): accrued_str = "Accrued ({} Days)".format(self.days_accrued) else: accrued_str = "Accrued ({} Day)".format(self.days_accrued) + if not self.spread: + raise ValueError("Market spread is missing!") s = ["{:<20}\t{:>15}".format("CDS Index", colored(self.name, attrs = ['bold'])), "", "{:<20}\t{:>15}".format("Trade Date", ('{:%m/%d/%y}'. diff --git a/python/analytics/option.py b/python/analytics/option.py index e2177d6d..4a61e90f 100644 --- a/python/analytics/option.py +++ b/python/analytics/option.py @@ -148,7 +148,7 @@ class Swaption(ForwardIndex): args = (self.forward_pv, self.exercise_date, self.exercise_date_settle, self.index, self._forward_yc, tilt, self._w) eta = 1.05 - a = self.index.spread + a = self.index.spread * 0.99 b = a * eta while True: if calib(*((b,) + args)) > 0: |
