diff options
Diffstat (limited to 'python/quote_parsing')
| -rw-r--r-- | python/quote_parsing/parse_emails.py | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/python/quote_parsing/parse_emails.py b/python/quote_parsing/parse_emails.py index eee0f2ef..e5e332e7 100644 --- a/python/quote_parsing/parse_emails.py +++ b/python/quote_parsing/parse_emails.py @@ -640,18 +640,16 @@ def parse_bnp(fh, index_desc): def parse_jpm(fh, index_desc): option_stack = {} fwd_index = [] - regex = { - "HY": r"JPM CDX Options: HY \(([\w\d]*)\) (?P<expiry>[\d]+-[\w]+-[\d]+) \*\* Fwd @(?P<fwdprice>[\d.]+), Delta @([\d.]+)", - "IG": r"JPM CDX Options: IG \(([\w\d]*)\) (?P<expiry>[\d]+-[\w]+-[\d]+) \*\* Fwd @(?P<fwdspread>[\d.]+), Delta @([\d.]+)", - "EU": r"JPM iTrx Options: MAIN \(S34V1\) (?P<expiry>[\d]+-[\w]+-[\d]+) \*\* Fwd @(?P<fwdprice>[\d.]+), Delta @([\d.]+)", - "XO": r"JPM iTrx Options: XOVER \(S34V\d\) (?P<expiry>[\d]+-[\w]+-[\d]+) \*\* Fwd @(?P<fwdspread>[\d.]+), Delta @([\d.]+)", - } - pat = re.compile(regex[index_desc["index"]]) + regex = r"JPM CDX Options: (HY|IG|MAIN|XOVER) \(([\w\d]*)\) (?P<expiry>[\d]+-[\w]+-[\d]+) \*\* Fwd @(?P<fwdref>[\d.]+)" + pat = re.compile(regex) line = next(fh).strip() while True: if "**" in line: if m := pat.match(line): d = m.groupdict() + d["fwdprice" if index_desc["index"] == "HY" else "fwdspread"] = d.pop( + "fwdref" + ) d["expiry"] = pd.to_datetime(d["expiry"], format="%d-%b-%y") fwd_index.append({**index_desc, **d}) |
