aboutsummaryrefslogtreecommitdiffstats
path: root/python/citco_ops/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/citco_ops/utils.py')
-rw-r--r--python/citco_ops/utils.py38
1 files changed, 35 insertions, 3 deletions
diff --git a/python/citco_ops/utils.py b/python/citco_ops/utils.py
index b2b5b356..3cdf2ce5 100644
--- a/python/citco_ops/utils.py
+++ b/python/citco_ops/utils.py
@@ -127,11 +127,20 @@ _recipients = {
"simon.oreilly@innocap.com",
"margincalls@innocapglobal.com",
),
+ "BOWDST": (
+ "shkumar@sscinc.com",
+ "hedgemark.lmcg.ops@sscinc.com",
+ "hm-operations@bnymellon.com",
+ ),
+ "SERCGMAST": (
+ "SERENITAS.FA@sscinc.com",
+ "SERENITAS.ops@sscinc.com",
+ ),
}
@dataclass
-class PaymentSettlement:
+class Payment:
settle_date: datetime.date
currency: str
amount: float
@@ -144,9 +153,11 @@ class PaymentSettlement:
cls(row.settle_date, row.currency, row.payment_amount)
)
- def to_innocap(self):
+ def to_email_format(self):
return f"\t* {self.settle_date}: {self.amount:,.2f} {self.currency}"
+
+class PaymentSettlement(Payment):
@classmethod
def email_innocap(cls, date):
if not cls._insert_queue:
@@ -155,7 +166,28 @@ class PaymentSettlement:
em.send_email(
f"Payment Settlements Bond NT: ISOSEL {date}",
"Good morning, \n\nWe have the following amounts settling in the next few days at Northern Trust: (Positive Amounts = Receive, Negative Amounts=Pay)\n\n"
- + "\n".join(settlement.to_innocap() for settlement in cls._insert_queue),
+ + "\n".join(
+ settlement.to_email_format() for settlement in cls._insert_queue
+ ),
to_recipients=_recipients["ISOSEL"],
cc_recipients=("Selene-Ops@lmcg.com",),
)
+
+
+class GFSMonitor(Payment):
+ @classmethod
+ def email_globeop(cls, fund):
+ if not cls._insert_queue:
+ return
+ em = ExchangeMessage()
+ em.send_email(
+ f"GFS Helper Strategy Issue: {fund}",
+ "Good morning, \n\nWe noticed some cash in the GFS helper strategy that shouldn't be there:\n\n"
+ + "\n".join(
+ settlement.to_email_format() for settlement in cls._insert_queue
+ ),
+ to_recipients=_recipients[fund],
+ cc_recipients=(
+ "Bowdoin-Ops@LMCG.com" if fund == "BOWDST" else "NYOps@lmcg.com",
+ ),
+ )