aboutsummaryrefslogtreecommitdiffstats
path: root/python/quote_parsing/parse_emails.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/quote_parsing/parse_emails.py')
-rw-r--r--python/quote_parsing/parse_emails.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/python/quote_parsing/parse_emails.py b/python/quote_parsing/parse_emails.py
index 9c082510..da6b9465 100644
--- a/python/quote_parsing/parse_emails.py
+++ b/python/quote_parsing/parse_emails.py
@@ -389,10 +389,13 @@ def parse_citi_block(fh, indextype):
pay_bid = pay_bid.strip()
pay_offer = pay_offer.strip()
pay_offer, pay_delta = pay_offer.split()
- rec_bid, rec_offer = receivers.split("/")
- rec_bid = rec_bid.strip()
- rec_offer = rec_offer.strip()
- rec_offer, rec_delta = rec_offer.split()
+ try:
+ rec_bid, rec_offer = receivers.split("/")
+ rec_bid = rec_bid.strip()
+ rec_offer = rec_offer.strip()
+ rec_offer, rec_delta = rec_offer.split()
+ except ValueError: # Some of the rec information was not available at a certain strike
+ rec_bid, rec_offer, rec_delta = None, None, None
vol = vol.strip()
vol = vol.split()[0]
if indextype == "HY":
@@ -771,7 +774,7 @@ regex_dict = {
"SG",
parse_sg,
),
- re.compile(r"(?:Fwd:)?Citi Options: (IG|HY)(\d{2}) 5Y"): ("CITI", parse_citi),
+ re.compile(r"(?:Fwd:)?Citi Options: (IG|HY|MA)(\d{2}) 5Y"): ("CITI", parse_citi),
re.compile(
r"CS CDX (IG|HY)(\d{2})_?v?(\d)? Options -\s+(?:\d{2}/\d{2}/\d{2}\s+)?Ref = ([\d.]+)[^\d]*"
): ("CS", parse_cs),
@@ -813,8 +816,9 @@ def parse_email(email: Path, date_received: datetime.date, conn):
indextype, series, ref = m.groups()
ref = float(ref)
- indextype = "EU" if indextype.upper() == "MAIN" else indextype
+ indextype = "EU" if indextype.upper() in ("MAIN", "MA") else indextype
indextype = "XO" if indextype.upper() == "XOVER" else indextype
+
series = int(series)
cur_pos = fh.tell()
try: