diff options
Diffstat (limited to 'python/quote_parsing/parse_emails.py')
| -rw-r--r-- | python/quote_parsing/parse_emails.py | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/python/quote_parsing/parse_emails.py b/python/quote_parsing/parse_emails.py index dcc43e12..38173220 100644 --- a/python/quote_parsing/parse_emails.py +++ b/python/quote_parsing/parse_emails.py @@ -489,7 +489,22 @@ def parse_ms(fh, index_desc, *args): expiry = line.split(" ")[1] expiry = pd.to_datetime(expiry, format="%d-%b-%Y") block = parse_ms_block(fh, index_desc["index"]) - fwd_index.append({"expiry": expiry, **index_desc}) + if index_desc["index"] == "HY": + fwdprice = line.split(" ")[3] + fwdspread = line.split(" ")[5] + fwd_index.append( + { + "expiry": expiry, + "fwdprice": fwdprice, + "fwdspread": fwdspread, + **index_desc, + } + ) + else: + fwdspread = line.split(" ")[3] + fwd_index.append( + {"expiry": expiry, "fwdspread": fwdspread, **index_desc} + ) if block is None or block.empty: logger.warning("MS: block is empty for {expiry} expiry") else: @@ -776,7 +791,7 @@ regex_dict = { parse_baml, ), re.compile( - r"[^$]*\${1,2} MS CDX OPTIONS: (IG|HY)(\d{2})[^-]*- REF[^\d]*([\d.]+)" + r"[^$]*(?:\$|\€){1,2} MS (?:CDX|ITX) OPTIONS: (IG|HY|MAIN|XO)(\d{2})[^-]*- REF[^\d]*([\d.]+)" ): ("MS", parse_ms), re.compile(r"(?:Fwd:)?CDX (IG|HY)(\d{2}).*- REF:[^\d]*([\d.]+)"): ( "NOM", |
