aboutsummaryrefslogtreecommitdiffstats
path: root/python/analytics
diff options
context:
space:
mode:
Diffstat (limited to 'python/analytics')
-rw-r--r--python/analytics/option.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/python/analytics/option.py b/python/analytics/option.py
index c8079702..23680b5b 100644
--- a/python/analytics/option.py
+++ b/python/analytics/option.py
@@ -89,14 +89,15 @@ class BlackSwaption(ForwardIndex):
self.direction = direction
@classmethod
- def from_tradeid(cls, trade_id):
+ def from_tradeid(cls, trade_id, index=None):
engine = dbengine('dawndb')
r = engine.execute("SELECT * from swaptions WHERE id=%s", (trade_id,))
rec = r.fetchone()
if rec is None:
return ValueError("trade_id doesn't exist")
- index = Index.from_name(redcode=rec.security_id, maturity=rec.maturity, trade_date=rec.trade_date)
- index.ref = rec.index_ref
+ if index is None:
+ index = Index.from_name(redcode=rec.security_id, maturity=rec.maturity, trade_date=rec.trade_date)
+ index.ref = rec.index_ref
instance = cls(index, rec.expiration_date, rec.strike, rec.swaption_type.lower(),
direction="Long" if rec.buysell else "Short")
instance.notional = rec.notional