1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import sys
sys.path.append("..")
from risk.indices import get_index_portfolio
from risk.tranches import get_tranche_portfolio
from serenitas.utils.db import dbconn
import datetime
import pandas as pd
month_end = datetime.date(2021, 8, 31)
conn = dbconn("dawndb")
## indices
# portf = get_index_portfolio(month_end, conn, by_strat=False)
# d = {}
# for t in portf:
# d[(t.name, t.notional)] = t.jtd_single_names().reset_index(1, drop=True)
# result = pd.concat(d, axis=1, names=["name", "notional"]).sort_index()
## tranches
portf = get_tranche_portfolio(month_end, conn, by_strat=False)
d = {}
for t in portf:
d[(f"SCCDS{t.trade_id}", t.product_desc)] = t.jtd_single_names().reset_index(
1, drop=True
)
result = pd.concat(d, axis=1, names=["dealid", "product_desc"]).sort_index()
|