diff options
Diffstat (limited to 'python/calibrate_tranches_BC.py')
| -rw-r--r-- | python/calibrate_tranches_BC.py | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/python/calibrate_tranches_BC.py b/python/calibrate_tranches_BC.py index bab84901..808035f0 100644 --- a/python/calibrate_tranches_BC.py +++ b/python/calibrate_tranches_BC.py @@ -11,7 +11,7 @@ from pickle import load as pload import argparse def get_lastdate(conn, index, series, tenor): - sql_str = ("SELECT max(date)::date + 1 AS date FROM risk_numbers_new " + sql_str = ("SELECT max(date)::date + 1 AS date FROM risk_numbers " "WHERE index=%s and series = %s and tenor = %s") with conn.cursor() as c: c.execute(sql_str, (index, series, tenor)) @@ -36,20 +36,44 @@ if __name__ == "__main__": args = parser.parse_args() CODE_DIR = Path(os.environ['CODE_DIR']) - start_dates = {'ig19': datetime.date(2013, 5, 1), + start_dates = {# 'hy10': datetime.date(2014, 8, 11), + # 'hy15': datetime.date(2014, 6, 10), + # 'hy17': datetime.date(2013, 1, 1), + # 'hy19': datetime.date(2013, 2, 1), + # 'hy21': datetime.date(2013, 10, 4), + # 'hy23': datetime.date(2014, 10, 16), + # 'hy25': datetime.date(2015, 10, 1), + # 'hy27': datetime.date(2016, 10, 4), + # 'hy29': datetime.date(2017, 10, 3), + # 'hy31': datetime.date(2018, 10, 2), + 'ig9': datetime.date(2013, 1, 1), + 'ig19': datetime.date(2013, 5, 1), 'ig21': datetime.date(2013, 9, 26), 'ig23': datetime.date(2014, 10, 14), 'ig25': datetime.date(2015, 9, 22), 'ig27': datetime.date(2016, 9, 27), 'ig29': datetime.date(2017, 9, 26), - 'ig31': datetime.date(2018, 9, 25)} + 'ig31': datetime.date(2018, 9, 25), + 'xo22': datetime.date(2014, 10, 20), + 'xo24': datetime.date(2015, 9, 28), + 'xo26': datetime.date(2016, 9, 27), + 'xo28': datetime.date(2017, 9, 28), + 'eu9': datetime.date(2014, 9, 15), + 'eu19': datetime.date(2013, 4, 3), + 'eu21': datetime.date(2014, 3, 27), + 'eu22': datetime.date(2014, 10, 22), + 'eu24': datetime.date(2015, 9, 23), + 'eu26': datetime.date(2016, 9, 27), + 'eu28': datetime.date(2017, 9, 28), + 'eu30': datetime.date(2018, 9, 25), + 'xo30': datetime.date(2018, 9, 25)} serenitas_engine = dbengine('serenitasdb') serenitas_conn = serenitas_engine.raw_connection() if args.config is None: if args.index is None: raise ValueError("Please provide an index to run") - config = {'runs': [args.index, args.tenor]} + config = {'runs': [(args.index, args.tenor)]} else: with (CODE_DIR / "etc" / args.config).open("r") as fh: config = load(fh) @@ -108,4 +132,6 @@ if __name__ == "__main__": df['corr01'] = tranche_index.tranche_corr01() del df['fwd_gamma'] data[d] = df - pd.concat(data).to_sql("tranche_risk", serenitas_engine, if_exists='append', index=False) + if data: + (pd.concat(data). + to_sql("tranche_risk", serenitas_engine, if_exists='append', index=False)) |
