diff options
Diffstat (limited to 'python/risk/swaptions.py')
| -rw-r--r-- | python/risk/swaptions.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/python/risk/swaptions.py b/python/risk/swaptions.py index bf9c7bde..e7ed1a67 100644 --- a/python/risk/swaptions.py +++ b/python/risk/swaptions.py @@ -6,7 +6,13 @@ from psycopg2 import sql logger = logging.getLogger(__name__) -def get_swaption_portfolio(date, conn, fund="SERCGMAST", **kwargs): +def get_swaption_portfolio(date, conn, fund="SERCGMAST", portfolio=None, **kwargs): + if portfolio is None: + params = (date, date, date, fund) + and_clause = "" + else: + params = (date, date, date, fund, portfolio) + and_clause = "AND portfolio=%s" with conn.cursor() as c: c.execute( "SELECT swaptions.id, folder, dealid, (notional - terminated_amount) AS notional " @@ -17,8 +23,9 @@ def get_swaption_portfolio(date, conn, fund="SERCGMAST", **kwargs): "WHERE notional IS DISTINCT FROM terminated_amount " "AND expiration_date > %s AND trade_date <= %s " "AND swap_type='CD_INDEX_OPTION' " - "AND fund=%s ORDER BY expiration_date, strike", - (date, date, date, fund), + f"AND fund=%s {and_clause} " + "ORDER BY expiration_date, strike", + params, ) try: trade_ids, folders, deal_ids, notionals = zip(*c) |
