aboutsummaryrefslogtreecommitdiffstats
path: root/python/quote_parsing
diff options
context:
space:
mode:
Diffstat (limited to 'python/quote_parsing')
-rw-r--r--python/quote_parsing/parse_emails.py12
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})