blob: 210d8aae14519a240048e42690e6c87ba83439a8 (
plain)
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
28
|
import datetime
from analytics import Portfolio, CreditIndex
from psycopg2.extensions import connection
from typing import Tuple
def get_index_portfolio(
d: datetime.date, strategies: Tuple[str], conn: connection, **kwargs
):
with conn.cursor() as c:
c.execute(
"SELECT security_id AS redcode, notional, maturity "
"FROM list_cds_positions_by_strat(%s) "
"WHERE folder in %s",
(d, strategies),
)
trades = [
CreditIndex(
redcode=rec.redcode,
maturity=rec.maturity,
notional=rec.notional,
value_date=d,
)
for rec in c
]
portf = Portfolio(trades)
portf.mark()
return portf
|