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