diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/process_queue.py | 9 |
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 |
