diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/analytics/index_data.py | 21 |
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 |
