diff options
Diffstat (limited to 'python/pnl_explain.py')
| -rw-r--r-- | python/pnl_explain.py | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/python/pnl_explain.py b/python/pnl_explain.py index 0a3642ad..07309085 100644 --- a/python/pnl_explain.py +++ b/python/pnl_explain.py @@ -82,7 +82,9 @@ def get_swaption_pv( dates = [] for d in dr: prev_day = (d - bus_day).date() - portf = get_swaption_portfolio(prev_day, conn, fund, "OPTIONS", **kwargs) + portf = get_swaption_portfolio( + prev_day, conn, fund=fund, portfolio="OPTIONS", **kwargs + ) nav = 0.0 # add terminations with conn.cursor() as c: @@ -346,24 +348,20 @@ def get_bond_pv( **kwargs, ): dr = pd.bdate_range(start_date - bus_day, end_date, freq=bus_day) - dfs, dfs_1 = {}, {} + dfs = {} for d in dr: dfs[d] = pd.read_sql_query( - "SELECT figi AS identifier, usd_market_value, int_acc " + "SELECT figi AS identifier, usd_market_value, int_acc, notional " "FROM risk_positions(%s, %s, %s)", conn, params=(d.date(), asset_class, fund), index_col=["identifier"], ) - dfs_1[d] = pd.read_sql_query( - "SELECT figi AS identifier, notional FROM list_positions(%s, %s, False, %s)", - conn, - params=(d.date(), asset_class, fund), - index_col=["identifier"], - ) + if dfs[d].empty: + dfs[d] = pd.DataFrame( + 0, index=[0], columns=["usd_market_value", "int_acc", "notional"] + ) positions = pd.concat(dfs, names=["date", "identifier"]) - notionals = pd.concat(dfs_1, names=["date", "identifier"]) - positions = positions.join(notionals) cashflows = pd.read_sql_query( "SELECT identifier, prev_cpn_date AS date, interest, principal " "FROM factors_history fh " |
