diff options
Diffstat (limited to 'python/gfs_monitor.py')
| -rw-r--r-- | python/gfs_monitor.py | 62 |
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) |
