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