aboutsummaryrefslogtreecommitdiffstats
path: root/python/risk/trs.py
blob: 59b9ee35e405f00fbe47988f2b1c2ead9426de92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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