diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/quote_parsing/parse_emails.py | 38 |
1 files changed, 7 insertions, 31 deletions
diff --git a/python/quote_parsing/parse_emails.py b/python/quote_parsing/parse_emails.py index ebda3101..eee0f2ef 100644 --- a/python/quote_parsing/parse_emails.py +++ b/python/quote_parsing/parse_emails.py @@ -641,10 +641,10 @@ def parse_jpm(fh, index_desc): option_stack = {} fwd_index = [] regex = { - "HY": r"JPM CDX Options: HY [(]([\w\d]*)[)] (?P<expiry>[\d]+-[\w]+-[\d]+) [*]{2} Fwd @(?P<fwdprice>[\d.]+), Delta @([\d]+)", - "IG": r"JPM CDX Options: IG [(]([\w\d]*)[)] (?P<expiry>[\d]+-[\w]+-[\d]+) [*]{2} Fwd @(?P<fwdspread>[\d.]+), Delta @([\d]+)", - "EU": r"JPM iTrx Options: MAIN \(S34V1\) (?P<expiry>[\d]+-[\w]+-[\d]+) [*]{2} Fwd @(?P<fwdprice>[\d.]+), Delta @([\d]+)", - "XO": r"JPM iTrx Options: XOVER \(S34V\d\) (?P<expiry>[\d]+-[\w]+-[\d]+) [*]{2} Fwd @(?P<fwdspread>[\d.]+), Delta @([\d]+)", + "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"]]) line = next(fh).strip() @@ -689,18 +689,7 @@ subject_cs = re.compile( ) subject_bnp = re.compile(r"CDX OPTIONS RUN: (IG|HY)(\d{2}).*") subject_jpm = re.compile( - r"JPM CDX Options: CDX.([\w]+) S(\d+) \d\w \S+-\S+ \[ref ([\d.]*).*" -) -eu_subject_baml = re.compile("") -eu_subject_gs = re.compile("") -eu_subject_ms = re.compile("") -eu_subject_nom = re.compile("") -eu_subject_sg = re.compile("") -eu_subject_citi = re.compile("") -eu_subject_cs = re.compile("") -eu_subject_bnp = re.compile("") -eu_subject_jpm = re.compile( - r"JPM iTrx Options: ITRAXX.(\w+) S(\d+) 5Y (?:V2&V1 )?\S+-\S+ \[ref ([\d.]*)\].*" + r"JPM (?:CDX|iTrx) Options: (?:CDX|ITRAXX).(IG|HY|XOVER|MAIN) S(\d+) 5Y (?:V2&V1 )?\S+-\S+ \[ref ([\d.]*)\].*" ) @@ -720,21 +709,8 @@ def parse_email(email: Path, date_received: datetime.date, conn): with email.open("rt") as fh: subject = fh.readline().lstrip() - for source in [ - "JPM", - "BAML", - "GS", - "MS", - "NOM", - "SG", - "CITI", - "CS", - "BNP", - "JPM", - ]: - if (m := globals()[f"subject_{source.lower()}"].match(subject)) or ( - m := globals()[f"eu_subject_{source.lower()}"].match(subject) - ): + for source in ["BAML", "GS", "MS", "NOM", "SG", "CITI", "CS", "BNP", "JPM"]: + if (m := globals()[f"subject_{source.lower()}"].match(subject)) : version = None if source in ["CITI", "BNP"]: indextype, series = m.groups() |
