diff options
| -rw-r--r-- | python/interest_statement.py | 28 | ||||
| -rw-r--r-- | python/monthend_interest_recon.py | 2 |
2 files changed, 18 insertions, 12 deletions
diff --git a/python/interest_statement.py b/python/interest_statement.py index fe26043e..f01a3c3d 100644 --- a/python/interest_statement.py +++ b/python/interest_statement.py @@ -1,16 +1,9 @@ import pandas as pd from pandas.tseries.offsets import BDay -from serenitas.utils.db import dbconn +from serenitas.utils.db import dbconn, serenitas_engine -conn = dbconn("serenitasdb") dawndb = dbconn("dawndb") -df_rates = pd.read_sql_query( - "SELECT date, rate FROM rates where name='FED_FUND'", - conn, - parse_dates=["date"], - index_col=["date"], -).sort_index() df_balances = pd.read_sql_query( "SELECT * FROM strategy_im WHERE fund='SERCGMAST'", dawndb, @@ -22,7 +15,20 @@ df_balances[["broker", "strategy"]] = df_balances[["broker", "strategy"]].astype ) -def f(df_balances, df_rates, broker, start_date, end_date): +def get_rates(broker): + rate_index = "SOFRRATE" if broker == "BARCLAYS" else "FED_FUND" + + return pd.read_sql_query( + "SELECT date, rate FROM rates where name=%s", + serenitas_engine, + params=(rate_index,), + parse_dates=["date"], + index_col=["date"], + ).sort_index() + + +def f(broker, start_date, end_date): + df_rates = get_rates(broker) df = ( df_balances[df_balances.broker == broker] .set_index("strategy", append=True)["amount"] @@ -52,8 +58,8 @@ def f(df_balances, df_rates, broker, start_date, end_date): def export_data(start, end): dfs = {} - for cp in ("GS", "MS", "BAML_ISDA", "CITI", "CS", "BNP", "JPM"): - dfs[cp] = f(df_balances, df_rates, cp, start, end) + for cp in ("GS", "MS", "BAML_ISDA", "CITI", "CS", "BNP", "JPM", "BARCLAYS"): + dfs[cp] = f(cp, start, end) df = pd.concat(dfs, names=["broker", "folder"]) df = df[df.amount != 0.0] df.amount *= -1.0 diff --git a/python/monthend_interest_recon.py b/python/monthend_interest_recon.py index 2568a20f..ddefe9da 100644 --- a/python/monthend_interest_recon.py +++ b/python/monthend_interest_recon.py @@ -167,7 +167,7 @@ if __name__ == "__main__": right_index=True, ) df = df.fillna(0) - df["difference"] = df["amount"] - df["monthly_statement"] + df["difference"] = round(df["amount"] - df["monthly_statement"], 2) if args.accept: ssnc_df = export_data(start, end) for k, v in df["difference"].items(): |
