diff options
Diffstat (limited to 'python/collateral/common.py')
| -rw-r--r-- | python/collateral/common.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/python/collateral/common.py b/python/collateral/common.py index 157c1978..1fd31d05 100644 --- a/python/collateral/common.py +++ b/python/collateral/common.py @@ -80,10 +80,15 @@ def get_bilateral_trades(d: datetime.date, fund: str, engine: Engine) -> pd.Data params=(d, fund), ) df_forwards = pd.read_sql_query( - "SELECT cpty_id, folder, initial_margin_percentage * buy_amount / 100 AS IA " - "FROM spots " - "WHERE cpty_id IS NOT NULL " - "AND trade_date <= %s AND fund=%s AND settle_date >=%s", + "SELECT cpty_id, folder, ia FROM (" + " SELECT cpty_id, folder, initial_margin_percentage * buy_amount / 100 AS ia," + " trade_date, settle_date, fund FROM spots" + " UNION" + " SELECT UNNEST(ARRAY[near_cpty_id, far_cpty_id]) AS cpty_id, folder, 0.0 AS ia," + " trade_date, unnest(ARRAY[near_settle_date, far_settle_date]) AS settle_date," + " fund FROM fx_swaps" + ") a " + "WHERE cpty_id IS NOT NULL AND trade_date <=%s AND fund=%s AND settle_date >=%s", engine, params=(d, fund, d), ) |
