diff options
Diffstat (limited to 'python/analytics')
| -rw-r--r-- | python/analytics/option.py | 7 |
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 |
