diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/risk/indices.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/python/risk/indices.py b/python/risk/indices.py index db6ca0c2..2766d4d1 100644 --- a/python/risk/indices.py +++ b/python/risk/indices.py @@ -22,7 +22,7 @@ def get_index_portfolio( select_cols = [ "security_id AS redcode", "security_desc", - "sum(notional) AS notional", + "sum(notional) AS notional" if not by_strat else "notional", "maturity", ] if by_strat: @@ -44,9 +44,8 @@ def get_index_portfolio( params += (exclude_strategies,) if folder_filter: sql_str += " WHERE " + " AND ".join(folder_filter) - sql_str += " GROUP BY security_id, security_desc, maturity" - if by_strat: - sql_str += ", folder" + if not by_strat: + sql_str += " GROUP BY security_id, security_desc, maturity" with conn.cursor() as c: c.execute(sql_str, params) trades = [ @@ -63,8 +62,11 @@ def get_index_portfolio( for rec in c if rec.redcode not in exclude_redcode ] - portf = Portfolio(*zip(*trades)) - portf.mark() + if trades: + portf = Portfolio(*zip(*trades)) + portf.mark() + else: + portf = Portfolio([]) return portf |
