aboutsummaryrefslogtreecommitdiffstats
path: root/python/swaption_quotes.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/swaption_quotes.py')
-rw-r--r--python/swaption_quotes.py14
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)