diff options
Diffstat (limited to 'python/analytics/option.py')
| -rw-r--r-- | python/analytics/option.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/python/analytics/option.py b/python/analytics/option.py index 4257b4e9..0e8aec51 100644 --- a/python/analytics/option.py +++ b/python/analytics/option.py @@ -173,7 +173,7 @@ class BlackSwaption(ForwardIndex): elif d == "Short": self._direction = -1. else: - raise ValueError("Direction needs to be either 'Buyer' or 'Seller'") + raise ValueError("Direction needs to be either 'Long' or 'Short'") @property def intrinsic_value(self): @@ -464,10 +464,9 @@ class QuoteSurface(): ["pay_bid", "pay_offer", "rec_bid", "rec_offer"]] *=100 if self._quotes.empty: raise ValueError("No quotes for that day") - self._quotes['quotedate'] = (self._quotes['quotedate']. - dt.tz_convert('America/New_York'). + self._quotes['quotedate'] = (self._quotes['quotedate'].dt. + tz_convert('America/New_York'). dt.tz_localize(None)) - self._quotes = self._quotes.sort_values('quotedate') self.value_date = value_date def list(self, source=None): @@ -501,7 +500,9 @@ class VolSurface(QuoteSurface): def vol(self, T, moneyness, surface_id): """computes the vol for a given moneyness and term.""" - return self[surface_id](T, moneyness) + if isinstance(T, datetime.date): + T = ((T - self.value_date).days + 0.25) / 365 + return self[surface_id].ev(T, moneyness) def plot(self, surface_id): fig = plt.figure() |
