diff options
Diffstat (limited to 'python/swaption_quotes.py')
| -rw-r--r-- | python/swaption_quotes.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/python/swaption_quotes.py b/python/swaption_quotes.py index fc96637a..27a80b7a 100644 --- a/python/swaption_quotes.py +++ b/python/swaption_quotes.py @@ -5,7 +5,7 @@ from db import serenitas_pool from statistics import median -def get_refids(index, series, expiry, value_date=datetime.date.today(), +def get_refids(conn, index, series, expiry, value_date=datetime.date.today(), sources=["GS", "MS", "CITI"]): sql_str = ("SELECT ref_id, ref, quotedate FROM swaption_ref_quotes " "WHERE quotedate::date=%s " @@ -14,7 +14,6 @@ def get_refids(index, series, expiry, value_date=datetime.date.today(), " AND expiry=%s " "ORDER BY quotedate DESC LIMIT 1") d = {} - conn = serenitas_pool.getconn(__name__) with conn.cursor() as c: for s in sources: c.execute(sql_str, (value_date, s, index, series, expiry)) @@ -24,11 +23,14 @@ def get_refids(index, series, expiry, value_date=datetime.date.today(), def adjust_stacks(index_type, series, expiry, value_date=datetime.date.today(), sources=["GS", "MS", "CITI"], common_ref=None): - conn = serenitas_pool.getconn(__name__) - d = get_refids(index_type, series, expiry, value_date, sources) + conn = serenitas_pool.getconn() + d = get_refids(conn, index_type, series, expiry, value_date, sources) + if all(v is None for v in d.values()): + raise ValueError("no quotes") if common_ref is None: common_ref = median(v[1] for v in d.values()) - index = CreditIndex(index_type, series, "5yr", value_date=value_date, notional=10000.) + index = CreditIndex(index_type, series, "5yr", value_date=value_date, + notional=10000.) index.ref = common_ref old_pv = index.pv quotes = {} @@ -70,5 +72,5 @@ def adjust_stacks(index_type, series, expiry, #quotes[k].style.apply(highlight_min, axis=1) df = pd.concat([inside_quotes[k], quotes[k]], axis=1) d[k] = df.rename(columns={k: 'Best'}) - serenitas_pool.putconn(conn, __name__) + serenitas_pool.putconn(conn) return common_ref, pd.concat(d, axis=1) |
