aboutsummaryrefslogtreecommitdiffstats
path: root/python/collateral
diff options
context:
space:
mode:
Diffstat (limited to 'python/collateral')
-rw-r--r--python/collateral/citi.py9
-rw-r--r--python/collateral/cs.py5
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: