aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/cds_rebook.py43
1 files changed, 40 insertions, 3 deletions
diff --git a/python/cds_rebook.py b/python/cds_rebook.py
index c1dbd3a4..8614540d 100644
--- a/python/cds_rebook.py
+++ b/python/cds_rebook.py
@@ -24,6 +24,38 @@ def get_outstanding_positions(conn, trade_date, fcm, fund="SERCGMAST"):
yield from c
+def indices_to_remark(conn, auction_date: datetime.date, fee, accrual_days):
+ adj_recovery = 1 - fee + accrual_days * 0.05 / 360
+ breakpoint()
+ with conn.cursor() as c1, conn.cursor() as c2:
+ c1.execute(
+ "SELECT index, series, old.version, old.indexfactor AS oldfactor, "
+ "new.indexfactor AS newfactor FROM index_version old "
+ "LEFT JOIN index_version new USING (index, series) "
+ "WHERE old.lastdate=%s AND new.version=old.version+1",
+ (auction_date,),
+ )
+ for index, series, version, oldfactor, newfactor in c1:
+ c2.execute(
+ "INSERT into index_quotes_pre(date, index, series, version, "
+ "tenor, close_price, source)"
+ "SELECT date, index, series, version+1, "
+ "tenor, (%s*close_price - %s)/%s, 'MKIT'"
+ "FROM index_quotes_pre "
+ "WHERE index=%s AND series=%s AND version=%s AND date=%s AND source='MKIT'",
+ (
+ oldfactor,
+ (newfactor - oldfactor) * adj_recovery,
+ newfactor,
+ index,
+ series,
+ version,
+ auction_date,
+ ),
+ )
+ conn.commit()
+
+
def default_adjustment(conn, company_id, seniority, end_date):
with conn.cursor() as c:
c.execute(
@@ -46,6 +78,7 @@ PORTFOLIO = {
"HYINX": "TRANCHE",
"SER_IGCURVE": "CURVE",
"HEDGE_CLO": "CLO",
+ "HEDGE_MAC": "HEDGE_MAC",
}
@@ -148,7 +181,11 @@ if __name__ == "__main__":
# rebook(conn, datetime.date(2020, 5, 26), 171248, "Senior", "WF")
# rebook(conn, datetime.date(2020, 5, 26), 171248, "Senior", "GS", "BOWDST")
# NMG
- rebook(conn, datetime.date(2020, 5, 29), 101056, "Senior", "BAML")
- rebook(conn, datetime.date(2020, 5, 29), 101056, "Senior", "WF")
- rebook(conn, datetime.date(2020, 5, 29), 101056, "Senior", "GS", "BOWDST")
+ # rebook(conn, datetime.date(2020, 5, 29), 101056, "Senior", "BAML")
+ # rebook(conn, datetime.date(2020, 5, 29), 101056, "Senior", "WF")
+ # rebook(conn, datetime.date(2020, 5, 29), 101056, "Senior", "GS", "BOWDST")
+ # JCP
+ rebook(conn, datetime.date(2020, 6, 9), 101154, "Senior", "BAML")
+ rebook(conn, datetime.date(2020, 5, 9), 101154, "Senior", "WF")
+ rebook(conn, datetime.date(2020, 5, 9), 101154, "Senior", "GS", "BOWDST")
serenitas_pool.putconn(conn)