diff options
Diffstat (limited to 'python/report_ops/utils.py')
| -rw-r--r-- | python/report_ops/utils.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/python/report_ops/utils.py b/python/report_ops/utils.py index bb6c0116..dd81d735 100644 --- a/python/report_ops/utils.py +++ b/python/report_ops/utils.py @@ -333,6 +333,52 @@ class CDXQuoteMonitor( ) +class CDXSpreadMonitor( + Monitor, + headers=( + "security_desc", + "identifier", + "maturity", + "citco_spread", + "serenitas_spread", + "citco_quote", + "serenitas_quote", + "difference", + "valuation_date", + ), + num_format=[ + ("{0:,.2f}", 3), + ("{0:,.2f}", 4), + ("{0:,.2f}", 5), + ("{0:,.2f}", 6), + ("{0:,.2f}", 7), + ], +): + @classmethod + def email(cls, fund): + if not cls._staging_queue: + return + cls._em.send_email( + f"CDX Quote Outside of our Tolerance: {fund}", + HTMLBody( + f""" +<html> + <head> + <style> + table, th, td {{ border: 1px solid black; border-collapse: collapse;}} + th, td {{ padding: 5px; }} + </style> + </head> + <body> + Good morning,<br><br>Could you please help us with the below cleared CDX quotes outside of our tolerance:<br><br>{cls.to_tabulate()} + </body> +</html>""" + ), + to_recipients=_valuation_recipients[fund], + cc_recipients=_cc_recipients[fund], + ) + + class SettlementMonitor( Monitor, headers=("date", "account", "currency", "projected_balance"), |
