diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/markit_tranche_quotes.py | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/python/markit_tranche_quotes.py b/python/markit_tranche_quotes.py index 3ecd5fd4..04ce9bdb 100644 --- a/python/markit_tranche_quotes.py +++ b/python/markit_tranche_quotes.py @@ -29,8 +29,8 @@ index_mapping = { sql_str = f"""INSERT INTO tranche_quotes(quotedate, index, series, version, tenor, attach, detach, trancheupfrontbid, trancheupfrontmid, trancheupfrontask, trancherunningbid, trancherunningmid, trancherunningask, - indexrefprice, indexrefspread, tranchedelta, quotesource, markit_id) - VALUES({",".join(["%s"]*18)}) ON CONFLICT DO NOTHING""" + indexrefprice, indexrefspread, tranchedelta, quotesource, markit_id, deleted) + VALUES({",".join(["%s"]*19)}) ON CONFLICT DO NOTHING""" def get_latest_quote_id(db): @@ -69,15 +69,19 @@ for d in csv.DictReader(f, fieldnames=headers): d["series"] = int(d["series"]) d["attachment"], d["detachment"] = int(d["attachment"]), int(d["detachment"]) if d["ticker"] == "CDX-NAHY": - d["indexrefprice"] = convert_float(d["reference"]) - else: - d["indexrefspread"] = convert_float(d["reference"]) - if d["ticker"] == "CDX-NAHY": - for k in ["_bid", "_mid", "_ask"]: - d["upfront" + k] = d["price" + k] - d["spread" + k] = ( - 0 if d["series"] in [9, 10] and d["attachment"] == 10 else 500 - ) + ref = convert_float(d["reference"]) + if ref > 110.0 and d["contributor"] == "MS": + d["deleted"] = True + d["indexrefspread"] = ref + for k in ["_bid", "_mid", "_ask"]: + d["upfront" + k] = 0.0 + else: + d["indexrefprice"] = ref + for k in ["_bid", "_mid", "_ask"]: + d["upfront" + k] = d["price" + k] + d["spread" + k] = ( + 0 if d["series"] in [9, 10] and d["attachment"] == 10 else 500 + ) if d["ticker"] == "ITRAXX-Xover": if int(d["attachment"]) < 35: @@ -142,6 +146,7 @@ for d in csv.DictReader(f, fieldnames=headers): d["delta"], d["contributor"][:4], d["quote_id"], + d.get("deleted", False), ), ) count += 1 |
