aboutsummaryrefslogtreecommitdiffstats
path: root/python/risk/__main__.py
blob: 01e0e0522d74704c22a9bde3e60b8561efba3e28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import argparse
import pandas as pd
from db import dbconn, dbengine
from pandas.tseries.offsets import BDay
from .subprime import get_rmbs_portfolio, subprime_risk
from .swaptions import get_swaption_portfolio, insert_swaption_portfolio

parser = argparse.ArgumentParser()
parser.add_argument('workdate', nargs='?',
                    type=lambda s: pd.datetime.strptime(s, "%Y-%m-%d").date()),
args = parser.parse_args()
if args.workdate is None:
    workdate = (pd.Timestamp.today()-BDay()).date()
else:
    workdate = args.workdate

with dbconn('dawndb') as conn:
    portf = get_swaption_portfolio(workdate, conn, source_list=["GS"])
    insert_swaption_portfolio(portf, conn)
    portf = get_rmbs_portfolio(workdate, conn)
    crt_portf = portf[portf.strategy.str.contains("CRT")]
    subprime_portf = portf[~portf.strategy.str.contains("CRT")]
    subprime_portf_zero = subprime_portf[subprime_portf.identifier.str.endswith("_A")]
    subprime_portf = subprime_portf[~subprime_portf.identifier.str.endswith("_A")]
    df = subprime_risk(workdate)
    subprime_portf = subprime_portf.join(df)