aboutsummaryrefslogtreecommitdiffstats
path: root/python/analytics
diff options
context:
space:
mode:
Diffstat (limited to 'python/analytics')
-rw-r--r--python/analytics/index_data.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/python/analytics/index_data.py b/python/analytics/index_data.py
index 652988e5..13a4a8bc 100644
--- a/python/analytics/index_data.py
+++ b/python/analytics/index_data.py
@@ -249,11 +249,26 @@ def get_singlenames_curves(
)
-def get_tranche_quotes(index_type, series, tenor, date=datetime.date.today()):
+def get_tranche_quotes(
+ index_type, series, tenor, date=datetime.date.today(), source="Serenitas"
+):
conn = serenitas_pool.getconn()
with conn.cursor() as c:
- c.callproc("get_tranche_quotes", (index_type, series, tenor, date))
- df = pd.DataFrame.from_records(dict(d) for d in c)
+ if source == "Serenitas":
+ c.callproc("get_tranche_quotes", (index_type, series, tenor, date))
+ else:
+ sql_str = (
+ "SELECT id, attach, detach, upfront_mid AS trancheupfrontmid, "
+ "tranche_spread AS trancherunningmid, "
+ "100*index_price AS indexrefprice, NULL AS indexrefspread "
+ "FROM markit_tranche_quotes "
+ "JOIN index_version USING (basketid) "
+ "WHERE index=%s AND series=%s AND tenor=%s AND quotedate=%s "
+ "ORDER BY attach"
+ )
+ c.execute(sql_str, (index_type, series, tenor, date))
+ col_names = [col.name for col in c.description]
+ df = pd.DataFrame.from_records((tuple(r) for r in c), columns=col_names)
serenitas_pool.putconn(conn)
return df