diff options
Diffstat (limited to 'python/analytics/index.py')
| -rw-r--r-- | python/analytics/index.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/python/analytics/index.py b/python/analytics/index.py index 03a4c482..262e41bd 100644 --- a/python/analytics/index.py +++ b/python/analytics/index.py @@ -292,18 +292,18 @@ class Index(object): @classmethod def from_name(cls, index=None, series=None, tenor=None, trade_date=datetime.date.today(), - notional=10_000_000, redcode=None): + notional=10_000_000, redcode=None, maturity=None): if all([index, series, tenor]): sql_str = "SELECT indexfactor, lastdate, maturity, coupon " \ "FROM index_desc WHERE index=%s AND series=%s AND tenor = %s " \ "ORDER BY lastdate ASC" params = (index.upper(), series, tenor) - elif redcode: + elif all([redcode, maturity]): sql_str = "SELECT index, series, indexfactor, lastdate, maturity, coupon " \ - "FROM index_desc WHERE redindexcode=%s" - params = (redcode,) + "FROM index_desc WHERE redindexcode=%s AND maturity=%s" + params = (redcode, maturity) else: - raise ValueError("Need to provide either index, series, and tenor or redcode") + raise ValueError("Not enough information to load the index.") try: df = pd.read_sql_query(sql_str, engine, parse_dates=['lastdate'], @@ -419,7 +419,7 @@ class ForwardIndex(object): def from_name(cls, index_type, series, tenor, forward_date, trade_date=datetime.date.today(), notional=10e6): index = Index.from_name(index_type, series, tenor, trade_date, notional) - return cls(index, forward_date, indextype == "HY") + return cls(index, forward_date) @property def forward_annuity(self): |
