aboutsummaryrefslogtreecommitdiffstats
path: root/python/gfs_monitor.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/gfs_monitor.py')
-rw-r--r--python/gfs_monitor.py62
1 files changed, 0 insertions, 62 deletions
diff --git a/python/gfs_monitor.py b/python/gfs_monitor.py
deleted file mode 100644
index 0c3ff512..00000000
--- a/python/gfs_monitor.py
+++ /dev/null
@@ -1,62 +0,0 @@
-import datetime
-import logging
-from serenitas.analytics.dates import prev_business_day
-from serenitas.utils.db import dbconn
-from serenitas.utils.exchange import ExchangeMessage
-from report_ops.utils import GFSMonitor, CDXQuoteMonitor
-
-
-def check_gfs(date, fund, conn):
- with conn.cursor() as c:
- c.execute(
- "SELECT endqty as amount, invccy as currency, periodenddate as date, port as portfolio FROM valuation_reports vr WHERE fund=%s AND abs(endqty) > 50000 AND port ='GFS_HELPER_BUSINESS_UNIT' AND periodenddate =%s;",
- (
- fund,
- date,
- ),
- )
- for row in c:
- GFSMonitor.stage(row._asdict())
- GFSMonitor.email(fund)
- GFSMonitor._insert_queue.clear()
-
-
-def check_cleared_cds(date, fund, conn):
- with conn.cursor() as c:
- c.execute(
- "SELECT *, abs(serenitas_quote-globeop_quote) AS difference FROM compare_globeop_quotes(%s, %s)",
- (date, fund),
- )
- for row in c:
- d = row._asdict()
- match d["index"]:
- case "IG":
- if d["difference"] > 0.05:
- CDXQuoteMonitor.stage(d)
- case "HY":
- if d["difference"] > 0.10:
- CDXQuoteMonitor.stage(d)
- CDXQuoteMonitor.email(fund)
- CDXQuoteMonitor._insert_queue.clear()
-
-
-if __name__ == "__main__":
- import argparse
-
- parser = argparse.ArgumentParser()
- parser.add_argument(
- "cob",
- nargs="?",
- type=datetime.date.fromisoformat,
- default=prev_business_day(datetime.date.today()),
- help="working date",
- )
- args = parser.parse_args()
- logger = logging.getLogger(__name__)
- conn = dbconn("dawndb")
- for fund in (
- "SERCGMAST",
- "BOWDST",
- ):
- check_gfs(args.cob, fund, conn)
- check_cleared_cds(args.cob, fund, conn)