aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/notify_bowdst.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/python/notify_bowdst.py b/python/notify_bowdst.py
index 25b22ac0..66ce9911 100644
--- a/python/notify_bowdst.py
+++ b/python/notify_bowdst.py
@@ -6,11 +6,18 @@ from io import StringIO
from exchangelib import FileAttachment
from serenitas.utils.exchange import ExchangeMessage
+from serenitas.utils import SerenitasFileHandler
+import logging
+
+fh = SerenitasFileHandler("mismatched_trades.log")
+logger = logging.getLogger("notify_bowdst")
+logger.addHandler(fh)
+logger.setLevel(logging.WARNING)
+
conn = dbconn("dawndb")
cob = (datetime.date.today() - BDay(1)).date()
dates = [str((cob - datetime.timedelta(days=days))) for days in range(60)]
-# dates = [str((cob - BDay(days)).date()) for days in range(60)]
-df_rates = pd.concat(
+df = pd.concat(
{
date: pd.read_sql_query(
f"""SELECT *, notional * factor as db_notional FROM list_cds_marks( %(date)s , NULL, 'BOWDST');""",
@@ -19,8 +26,7 @@ df_rates = pd.concat(
)
for date in dates
}
-)
-df = df_rates.droplevel(level=1)
+).droplevel(level=1)
data = df[df.index == str(cob)][
["tenor", "security_desc", "security_id", "globeop_notional", "db_notional"]
]
@@ -49,7 +55,9 @@ for row in inaccurate_balances.itertuples():
params={"date": date, "security_desc": security_desc},
)
if len(csv[pd.to_datetime(csv["trade_date"]) >= (cob - BDay(1))].index) != 0:
- print(len(csv[pd.to_datetime(csv["trade_date"]) >= (cob - BDay(1))].index))
+ logger.error(
+ f"Mismatch balance {row.security_desc} {row.globeop_notional} :{row.db_notional} Trades Recently"
+ )
continue
csv.to_csv(buf)
attachments = [