aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/process_queue.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/python/process_queue.py b/python/process_queue.py
index 93895efd..6e6cce1a 100644
--- a/python/process_queue.py
+++ b/python/process_queue.py
@@ -382,6 +382,9 @@ def bond_trade_process(conn, session, trade):
email.send()
+def is_tranche_trade(trade):
+ return trade['swap_type'] in ('CD_INDEX_TRANCHE', 'BESPOKE')
+
def cds_trade_process(serenitasdb, dawndb, session, trade):
sqlstr = 'SELECT indexfactor/100 FROM index_version WHERE redindexcode=%(security_id)s'
try:
@@ -395,7 +398,11 @@ def cds_trade_process(serenitasdb, dawndb, session, trade):
asset_class='Subprime')
factor = bbg_data['MTG_FACTOR_SET_DT']
- trade['curr_notional'] = trade['notional'] * factor
+ if is_tranche_trade(trade):
+ tranche_factor = (trade['attach'] - trade['detach'])/(trade['orig_attach'] - trade['orig_detach']) * factor
+ trade['curr_notional'] = trade['notional'] * tranche_factor
+ else:
+ trade['curr_notional'] = trade['notional'] * factor
return trade