from serenitas.analytics.api import Portfolio, TRS import logging logger = logging.getLogger(__name__) def get_trs_portfolio(date, conn, fund="SERCGMAST", **kwargs): sql_str = "SELECT dealid FROM trs WHERE trade_date <= %s AND maturity_date > %s AND fund = %s" with conn.cursor() as c: c.execute(sql_str, (date, fund)) trade_ids = [tid for (tid,) in c] portf = Portfolio([TRS.from_tradeid(tid) for tid in trade_ids], trade_ids) portf.value_date = date return portf