aboutsummaryrefslogtreecommitdiffstats
path: root/python/interest_statement.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/interest_statement.py')
-rw-r--r--python/interest_statement.py28
1 files changed, 17 insertions, 11 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