aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/reto.py36
1 files changed, 12 insertions, 24 deletions
diff --git a/python/reto.py b/python/reto.py
index d773c354..5ce435de 100644
--- a/python/reto.py
+++ b/python/reto.py
@@ -1,23 +1,14 @@
import datetime
-import globeop_reports as go
import pandas as pd
import numpy as np
import argparse
-from pandas.tseries.offsets import BDay, MonthEnd, BMonthEnd, CustomBusinessMonthEnd
-
-from risk.bonds import subprime_risk, crt_risk, clo_risk
from risk.portfolio import build_portfolio, generate_vol_surface
-from pnl_explain import get_bond_pv
import serenitas.analytics as ana
-from serenitas.analytics.index_data import load_all_curves
from serenitas.analytics.scenarios import run_portfolio_scenarios
-from serenitas.analytics.basket_index import BasketIndex
from serenitas.analytics.base import Trade
from serenitas.utils.db2 import dbconn
-from serenitas.utils.pool import serenitas_pool, dawn_pool
-from serenitas.utils.db import serenitas_engine, dawn_engine
from serenitas.analytics.dates import prev_business_day
@@ -100,23 +91,20 @@ def gen_spreads(shock_date, fund):
return results
-def transform_df(df):
- df = df.rename(
- columns={
- "spread_shock": "spread_shock",
- "CASH_BASIS": "CASH_BASIS",
- "HEDGE_CLO": "HEDGE_CLO",
- }
- )
- df = df.reset_index().rename(columns={"level_0": "unit"})
- strategy_columns = df.columns[3:]
- df = pd.melt(
- df, id_vars=["unit", "date", "spread_shock"], value_vars=strategy_columns
+def process_dataframe(raw_df):
+ """Clean and transform the input dataframe to insert into database."""
+ transformed_df = raw_df.reset_index(drop=True)
+ transformed_df = transformed_df.rename(columns={"level_0": "unit"})
+ strategy_columns = transformed_df.columns[3:]
+ transformed_df = pd.melt(
+ transformed_df,
+ id_vars=["unit", "date", "spread_shock"],
+ value_vars=strategy_columns,
)
- df = df.rename(
+ transformed_df = transformed_df.rename(
columns={"variable": "strategy", "value": "value", "unit": "output_type"}
)
- return df
+ return transformed_df
if __name__ == "__main__":
@@ -133,6 +121,6 @@ if __name__ == "__main__":
),
)
conn.commit()
- df = transform_df(results)
+ df = process_dataframe(results)
df["fund"] = fund
df.to_sql("shocks", dawn_engine, if_exists="append", index=False)