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