aboutsummaryrefslogtreecommitdiffstats
path: root/python/collateral/__main__.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/collateral/__main__.py')
-rw-r--r--python/collateral/__main__.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/python/collateral/__main__.py b/python/collateral/__main__.py
index dcf4e18a..01d2a283 100644
--- a/python/collateral/__main__.py
+++ b/python/collateral/__main__.py
@@ -66,12 +66,18 @@ cp_dict = {
}
-def run_collateral(cp, fund, positions, workdate, engine):
+def run_collateral(cp, fund, positions, positions_rates, workdate, engine):
cp_mod = import_module("." + cp, "collateral")
lookback = 0
while lookback < 2:
try:
- return cp_mod.collateral(workdate, positions, engine=engine, fund=fund)
+ return cp_mod.collateral(
+ workdate,
+ positions,
+ engine=engine,
+ fund=fund,
+ positions_irs=positions_rates,
+ )
except FileNotFoundError as e:
logger.warning(e)
lookback += 1
@@ -99,12 +105,20 @@ for fund in ("Serenitas", "Brinker", "BowdSt"):
index_col=["security_id", "maturity"],
parse_dates=["maturity"],
)
+ positions_rates = pd.read_sql_query(
+ "SELECT cleared_trade_id, notional, effective_date, maturity_date, payreceive, fixed_rate, folder, currency "
+ "FROM irs",
+ dawn_engine,
+ index_col=["cleared_trade_id"],
+ parse_dates=["effective_date", "maturity_date"],
+ )
df[(fund, fcm.upper())] = run_collateral(
- fcm, fund, positions, workdate, dawn_engine
+ fcm, fund, positions, positions_rates, workdate, dawn_engine
)
+
for cp in cp_dict[fund]["isda_cps"]:
df[(fund, cp.upper())] = run_collateral(
- cp, fund, bilat_positions, workdate, dawn_engine
+ cp, fund, bilat_positions, None, workdate, dawn_engine
)
df = pd.concat(df, names=["fund", "broker", "strategy"]).reset_index()