diff options
Diffstat (limited to 'python/quote_parsing/parse_emails.py')
| -rw-r--r-- | python/quote_parsing/parse_emails.py | 16 |
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: |
