from serenitas.analytics import Portfolio, IRSwaption import logging logger = logging.getLogger(__name__) def get_ir_portfolio(date, conn, fund="SERCGMAST", **kwargs): sql_str = "SELECT deal_id FROM list_ir_swaption_positions(%s, %s)" with conn.cursor() as c: c.execute(sql_str, (date, fund)) trade_ids = [tid for (tid,) in c] portf = Portfolio( [IRSwaption.from_tradeid(tid, conn) for tid in trade_ids], trade_ids ) portf.value_date = date return portf