aboutsummaryrefslogtreecommitdiffstats
path: root/python/parse_emails.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/parse_emails.py')
-rw-r--r--python/parse_emails.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/python/parse_emails.py b/python/parse_emails.py
index b7922435..0a31c58e 100644
--- a/python/parse_emails.py
+++ b/python/parse_emails.py
@@ -151,6 +151,8 @@ def parse_nomura_block(fh, indextype):
r = []
for line in fh:
line = line.rstrip()
+ if "EXPIRY" in line or line == "":
+ break
if line == "":
break
strike, receiver, payer, vol, _ = line.split("|", 4)
@@ -165,7 +167,9 @@ def parse_nomura_block(fh, indextype):
if indextype == "HY": # we don't have price vol
vals.append(None)
r.append(vals)
- return makedf(r, indextype, "NOM")
+ else:
+ return None, makedf(r, indextype, "NOM")
+ return line, makedf(r, indextype, "NOM")
def parse_sg_block(fh, indextype, expiration_dates):
r = []
@@ -236,12 +240,20 @@ def parse_ms(fh, indextype, *args):
def parse_nomura(fh, indextype, *args):
option_stack = {}
+ def aux(line, fh, indextype, option_stack):
+ expiry = line.split(" ")[0]
+ expiry = pd.to_datetime(expiry, format="%d-%b-%y")
+ next_line, df = parse_nomura_block(fh, indextype)
+ option_stack[expiry] = df
+ if next_line:
+ if "EXPIRY" in next_line:
+ aux(next_line, fh, indextype, option_stack)
+ else:
+ import pdb;pdb.set_trace()
for line in fh:
line = line.rstrip()
if "EXPIRY" in line:
- expiry = line.split(" ")[0]
- expiry = pd.to_datetime(expiry, format="%d-%b-%y")
- option_stack[expiry] = parse_nomura_block(fh, indextype)
+ aux(line, fh, indextype, option_stack)
return option_stack
def parse_sg(fh, indextype, expiration_dates):