aboutsummaryrefslogtreecommitdiffstats
path: root/python/book_bbg.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/book_bbg.py')
-rw-r--r--python/book_bbg.py31
1 files changed, 28 insertions, 3 deletions
diff --git a/python/book_bbg.py b/python/book_bbg.py
index 082b22aa..0a5d7309 100644
--- a/python/book_bbg.py
+++ b/python/book_bbg.py
@@ -10,11 +10,13 @@ from collections import defaultdict
fund_dictionary = {"SERENITAS_CGMF": "SERCGMAST", "BOWDOINST": "BOWDST"}
fcm_dictionary = {"Bank of America, N.A.": "BAML", "Goldman Sachs": "GS"}
-counterparty_dictionary = {"BNP PARIB.": "BNPBNY"}
+cdx_cp_dictionary = {"BNP PARIB.": "BNPBNY"}
+bond_cp_dictionary = {"CG": "CITINY"}
sql_str_by_trade = {
"CDX": "INSERT INTO cds (action, folder, cp_code, account_code, trade_date, effective_date, maturity, currency, payment_rolldate, notional, fixed_rate, day_count, frequency, protection, security_id, security_desc, upfront, upfront_settle_date, swap_type, clearing_facility, portfolio, fund) "
"VALUES (%(action)s, %(folder)s, %(cp_code)s, %(account_code)s, %(trade_date)s, %(effective_date)s, %(maturity)s, %(currency)s, %(payment_rolldate)s, %(notional)s, %(fixed_rate)s, %(day_count)s, %(frequency)s, %(protection)s, %(security_id)s, %(security_desc)s, %(upfront)s, %(upfront_settle_date)s, %(swap_type)s, %(clearing_facility)s, %(portfolio)s, %(fund)s);",
- "BOND": "",
+ "BOND": "INSERT INTO bonds(folder, cp_code, trade_date, settle_date, cusip, identifier, description, buysell, faceamount, price, asset_class )"
+ "VALUES (%(folder)s, %(cp_code)s, %(trade_date)s, %(settle_date)s, %(cusip)s, %(identifier)s, %(description)s, %(buysell)s, %(faceamount)s, %(price)s, %(asset_class)s",
}
@@ -75,7 +77,7 @@ def cdx_trade_process(reader, conn):
obj["fund"] = fund_dictionary[obj["Account"]]
obj["action"] = "NEW"
obj["folder"] = "*"
- obj["cp_code"] = counterparty_dictionary[obj["BrkrName"]]
+ obj["cp_code"] = cdx_cp_dictionary[obj["BrkrName"]]
obj["payment_rolldate"] = "Following"
obj["day_count"] = "ACT/360"
obj["frequency"] = 4
@@ -92,6 +94,29 @@ def cdx_trade_process(reader, conn):
return trades
+def bond_trade_process(reader, conn):
+ trades = []
+ for obj in reader:
+ if obj["Block Status"] != "Accepted":
+ print(obj["Cusip"])
+ continue
+ rename_keys(
+ obj,
+ {"Quantity": "faceamount", "Price (Dec)": "price", "Cusip": "cusip"},
+ )
+ obj["buysell"] = True if obj["Side"] == "B" else False
+ obj["description"] = obj["Security"].replace(" Mtge", "")
+ obj["trade_date"] = datetime.datetime.strptime(obj["Trade Dt"], "%m/%d/%Y")
+ obj["settle_date"] = datetime.datetime.strptime(obj["SetDt"], "%m/%d/%Y")
+ obj["folder"] = "*"
+ obj["cp_code"] = bond_cp_dictionary[obj["Brkr"]]
+ obj["portfolio"] = "UNALLOCATED"
+ obj["identifier"] = obj["cusip"]
+ obj["asset_class"] = "*"
+ trades.append(obj)
+ return trades
+
+
def book_trades(downloaded_files, date):
conn = dbconn("dawndb")
downloaded_files = download_files(date)