aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/collateral/common.py13
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),
)