diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/collateral/citi.py | 9 | ||||
| -rw-r--r-- | python/collateral/cs.py | 5 |
2 files changed, 9 insertions, 5 deletions
diff --git a/python/collateral/citi.py b/python/collateral/citi.py index 8ddc22d4..bac10750 100644 --- a/python/collateral/citi.py +++ b/python/collateral/citi.py @@ -59,15 +59,18 @@ def get_total_collateral(d): col2 = (top, bottom, 320, 530) col3 = (top, bottom, 530, 600) initial_margin = get_df(l, col1, col2, col3) + return ( - variation_margin.loc["VM Total Collateral", "amount"] - + initial_margin.loc["Non Reg IM Total Collateral", "amount"] + variation_margin.loc["VM Total Collateral", "amount"], + initial_margin.loc["Non Reg IM Total Collateral", "amount"], + -variation_margin.loc["Regulatory VM Requirement", "amount"], + -initial_margin.loc["Non Reg IM Requirement Due Customer", "amount"], ) def collateral(d, dawn_trades, **kwargs): df = load_file(next_business_day(d)) - collat = get_total_collateral(d) + collat = sum(get_total_collateral(d)[:2]) df = df[["Operations File", "Market Value", "BasicAmt"]].dropna( subset=["Operations File"] ) # missing Operations File means assignment usually diff --git a/python/collateral/cs.py b/python/collateral/cs.py index b70b32b9..ad36151c 100644 --- a/python/collateral/cs.py +++ b/python/collateral/cs.py @@ -52,6 +52,7 @@ def get_collateral(d: datetime.date, fund): "Serenitas": "SerenitasCGMF", "BowdSt": "BostonBPStLLC", } + collat = {} for collat_type in ("RVM", "IM", "FXIM"): pdf_file = ( DATA_DIR @@ -62,7 +63,7 @@ def get_collateral(d: datetime.date, fund): if e.text == "Cash USD (US Dollar)": next(g) value = next(g).text - collat += float( + collat[collat_type] = float( value.strip().replace(",", "").replace("(", "-").replace(")", "") ) break @@ -121,7 +122,7 @@ def load_cs_positions(d: datetime.date, fund: str, legacy=False): def collateral(d, dawn_trades, *, fund="Serenitas", **kwargs): - collateral = get_collateral(next_business_day(d), fund) + collateral = sum(get_collateral(next_business_day(d), fund).values()) try: df = load_cs_positions(d, fund) except ValueError as e: |
