diff options
Diffstat (limited to 'python/risk/indices.py')
| -rw-r--r-- | python/risk/indices.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/python/risk/indices.py b/python/risk/indices.py new file mode 100644 index 00000000..210d8aae --- /dev/null +++ b/python/risk/indices.py @@ -0,0 +1,28 @@ +import datetime +from analytics import Portfolio, CreditIndex +from psycopg2.extensions import connection +from typing import Tuple + + +def get_index_portfolio( + d: datetime.date, strategies: Tuple[str], conn: connection, **kwargs +): + with conn.cursor() as c: + c.execute( + "SELECT security_id AS redcode, notional, maturity " + "FROM list_cds_positions_by_strat(%s) " + "WHERE folder in %s", + (d, strategies), + ) + trades = [ + CreditIndex( + redcode=rec.redcode, + maturity=rec.maturity, + notional=rec.notional, + value_date=d, + ) + for rec in c + ] + portf = Portfolio(trades) + portf.mark() + return portf |
