aboutsummaryrefslogtreecommitdiffstats
path: root/python/notify_novations.py
blob: caa3831a8a7e053be57dfb4bcb6ef60ab8935ad4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import datetime
from mtm_status import get_latest_file

counterparty_contacts = {
    ("BAMSNY", "USD"): (
        "dg.gcss_usip_mo@bofa.com",
        "shalini.goel@bofa.com",
        "dtcc.chasing@bofa.com",
        "dg.cmbs-mbex_trade_support@bofa.com",
    ),
    ("BAMSNY", "EUR"): (
        "emea_credit_fo_support@bofa.com",
        "dtcc.chasing@bofa.com",
        "dg.cmbs-mbex_trade_support@bofa.com",
    ),
    ("JPCBNY", "USD"): ("credit.na.affirmations@jpmorgan.com",),
    ("JPCBNY", "EUR"): ("JPM.creditassignmentseurope@jpmorgan.com"),
    ("MSCSNY", "USD"): ("msnovationsteam@morganstanley.com",),
    ("GOLDNY", "USD"): (
        "Navneet.Sawant@gs.com",
        "Vishal.Kanojia@ny.email.gs.com",
        "NY-CDMO@ny.email.gs.com",
    ),
    ("GOLDNY", "EUR"): (
        "Navneet.Sawant@gs.com",
        "Vishal.Kanojia@ny.email.gs.com",
        "LDNCDMO@gs.com",
    ),
    ("CITINY", "USD"): ("citiassignmentsus@citigroup.com, james.b.okun@citi.com"),
    ("CITINY", "EUR"): ("citiassignmentsus@citigroup.com, aaron.beasant@citi.com"),
    ("BNPBNY", "USD"): ("LM_Sales_Assistants@US.BNPParibas.com",),
    ("BNPBNY", "EUR"): ("CDSnovationsEurope@bnpparibas.com",),
}


def contact_novation_counterparties(date):
    df = get_latest_file(date)
    df = df[
        (df["SwapType"].isin(["ASGM"]))
        & (df["ThirdPartyStatus.1"].isin(["Pending Consent"]))
    ]
    df = (
        df.groupby(["ExecutingBroker", "RemainingBroker", "CurrencyCode"])[
            "Novation Consent ID"
        ]
        .apply(list)
        .reset_index()
    )
    for row in df.itertuples():
        print(row.ExecutingBroker, row.RemainingBroker, row.CurrencyCode, row[4])


if __name__ == "__main__":
    contact_novation_counterparties(datetime.date(2023, 3, 14))