aboutsummaryrefslogtreecommitdiffstats
path: root/python/risk/forwards.py
blob: 9630127e063e77028cb5991da857372b6f58bff9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from serenitas.analytics.api import Portfolio, FxForward
import logging

logger = logging.getLogger(__name__)


def get_forward_portfolio(date, conn, fund="SERCGMAST", **kwargs):
    sql_str = "SELECT dealid FROM forwards WHERE settle_date > %s AND trade_date <= %s AND fund = %s"
    with conn.cursor() as c:
        c.execute(sql_str, (date, date, fund))
        trade_ids = [tid for (tid,) in c]

    portf = Portfolio([FxForward.from_tradeid(tid) for tid in trade_ids], trade_ids)
    portf.value_date = date
    return portf