diff options
Diffstat (limited to 'python/risk/ir.py')
| -rw-r--r-- | python/risk/ir.py | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/python/risk/ir.py b/python/risk/ir.py deleted file mode 100644 index 0cc68c89..00000000 --- a/python/risk/ir.py +++ /dev/null @@ -1,51 +0,0 @@ -import logging -from psycopg import sql - -logger = logging.getLogger(__name__) - - -def insert_ir_portfolio(portf, conn): - cols = [ - "date", - "swpt_id", - "notional", - "pv", - "vol", - "vol_type", - "DV01", - "IRGamma1bp", - "vega", - ] - sql_str = sql.SQL( - "INSERT INTO ir_swaption_risk({columns}) " - "VALUES({placeholders}) " - " ON CONFLICT (date, swpt_id) DO UPDATE " - "SET {update_str}" - ).format( - columns=sql.SQL(",").join([sql.Identifier(c) for c in cols]), - placeholders=sql.SQL(",").join([sql.Placeholder()] * len(cols)), - update_str=sql.SQL(",").join( - [ - sql.SQL("{c} = EXCLUDED.{c}").format(c=sql.Identifier(c)) - for c in cols[2:] - ] - ), - ) - with conn.cursor() as c: - for trade_id, trade in portf.items(): - logger.info(f"marking IR swaption {trade_id}") - c.execute( - sql_str, - ( - trade.value_date, - trade_id, - trade.notional, - trade.pv, - trade.implied_vol, - trade._vol_type.name, - trade.DV01, - trade.IRGamma1bp, - trade.vega, - ), - ) - conn.commit() |
