diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/mark_swaptions.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/python/mark_swaptions.py b/python/mark_swaptions.py index 4db50724..6a54a124 100644 --- a/python/mark_swaptions.py +++ b/python/mark_swaptions.py @@ -26,11 +26,12 @@ def get_swaption_portfolio(date, conn): portf = Portfolio([BlackSwaption.from_tradeid(t) for t in trade_ids], trade_ids=deal_ids) portf.value_date = date - try: - portf.mark(interp_method='bivariate_spline') - except ValueError as e: - logging.info(e) - return {} + for t in portf.trades: + try: + t.mark(interp_method='bivariate_spline') + except Exception as e: + logging.info(e) + t.mark(interp_method='bivariate_linear') return portf @@ -38,7 +39,8 @@ def insert_swaption_portfolio(portf, conn): sql_str = "INSERT INTO swaption_marks VALUES(%s, %s, %s, %s, %s, %s, %s)" with conn.cursor() as c: for id, trade in portf.items(): - to_insert = (id, trade.value_date, trade.pv, trade.delta, trade.gamma, trade.vega, trade.theta) + to_insert = (id, trade.value_date, trade.pv, trade.delta, + trade.gamma, trade.vega, trade.theta) try: c.execute(sql_str, to_insert) except DataError as e: |
