diff options
Diffstat (limited to 'python/collateral/__main__.py')
| -rw-r--r-- | python/collateral/__main__.py | 22 |
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() |
