aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/quote_diff_bowdst.py95
1 files changed, 0 insertions, 95 deletions
diff --git a/python/quote_diff_bowdst.py b/python/quote_diff_bowdst.py
deleted file mode 100644
index 72503d1f..00000000
--- a/python/quote_diff_bowdst.py
+++ /dev/null
@@ -1,95 +0,0 @@
-from serenitas.utils.db import dbconn
-import numpy as np
-import datetime
-import pandas as pd
-from serenitas.utils.exchange import ExchangeMessage
-from io import StringIO
-from exchangelib import FileAttachment
-import argparse
-
-from serenitas.utils import SerenitasFileHandler
-import logging
-from pandas.tseries.offsets import BDay
-
-
-def main():
- conn = dbconn("dawndb")
-
- parser = argparse.ArgumentParser(description="determine sender destination")
- parser.add_argument("--globeop", action="store_true", help="send to globeop")
- parser.add_argument(
- "--workdate",
- type=datetime.date.fromisoformat,
- default=(datetime.date.today() - BDay(1)).date(),
- )
-
- args = parser.parse_args()
-
- args = parser.parse_args()
-
- logger = logging.getLogger(__name__)
- if not logger.handlers:
- fh = SerenitasFileHandler("quote_diff_bowdst.log")
- logger.addHandler(fh)
- logger.setLevel(logging.INFO)
-
- recon(conn, logger, args)
-
-
-def recon(conn, logger, args):
- df = pd.read_sql(
- sql="SELECT * FROM list_bowd_quotes(%s)",
- con=conn,
- params=(args.workdate,),
- )
- try:
- mask = np.isclose(df["bowd_price"], df["closeprice"], atol=0.15)
- diff = df[~mask].rename(mapper={"closeprice": "our_price"}, axis=1)
- except TypeError as e:
- logger.error(e)
- else:
- if not diff.empty:
- buf = StringIO()
- diff = diff.round(decimals=2)
- diff.to_csv(buf, index=False)
- subject = "ACTION REQUESTED: Stale/Inaccurate Quotes"
- msg = (
- "Good morning,\n\n"
- f"We notice a difference in our quotes by more than 15 cents for the following indices:\n\n"
- f"{diff.to_string(index=False)}\n\n"
- "We have also attached a copy of the csv for your convenience."
- f"Thanks for your help.\n\n"
- f"Flint"
- )
- attachments = [
- FileAttachment(
- name=f"quote_differences.csv", content=buf.getvalue().encode()
- )
- ]
- em = ExchangeMessage()
- if args.globeop:
- recipients = (
- "hm-operations@bnymellon.com",
- "caagprim@bnymellon.com",
- )
- cc_recipients = (
- "fyu@lmcg.com",
- "Bowdoin-Ops@LMCG.com",
- )
- else:
- recipients = ("fyu@lmcg.com",)
- cc_recipients = ()
-
- em.send_email(
- subject,
- msg,
- to_recipients=recipients,
- cc_recipients=cc_recipients,
- attach=attachments,
- )
- logger.info(diff)
- logger.info("Program Executed")
-
-
-if __name__ == "__main__":
- main()