diff options
Diffstat (limited to 'python/exploration/portfolio_example.py')
| -rw-r--r-- | python/exploration/portfolio_example.py | 36 |
1 files changed, 4 insertions, 32 deletions
diff --git a/python/exploration/portfolio_example.py b/python/exploration/portfolio_example.py index ebaa6b3b..6b72a2c1 100644 --- a/python/exploration/portfolio_example.py +++ b/python/exploration/portfolio_example.py @@ -1,24 +1,8 @@ from analytics import (Portfolio, BlackSwaption, Index, - VolatilitySurface, Swaption) + BlackSwaptionVolSurface, Swaption) from analytics.scenarios import run_portfolio_scenarios import pandas as pd -from pandas.tseries.offsets import BDay import numpy as np -import datetime - -# option_delta = Index.from_tradeid(874) -# option1 = BlackSwaption.from_tradeid(7, option_delta) -# option2 = BlackSwaption.from_tradeid(8, option_delta) - -# portf = Portfolio([option1, option2, option_delta]) -# date_range = pd.bdate_range(option_delta.trade_date, -# pd.Timestamp('2017-05-01'), freq = 'B') -# pnl = [] -# for date in date_range: -# portf.trade_date = date.date() -# portf.mark(source_list=["BAML", "GS"], model="black") -# pnl.append(portf.pnl) -# df = pd.DataFrame({'pnl': pnl}, index=date_range) option_delta = Index.from_tradeid(870) option1 = BlackSwaption.from_tradeid(5, option_delta) @@ -26,22 +10,10 @@ option2 = BlackSwaption.from_tradeid(6, option_delta) portf = Portfolio([option1, option2, option_delta]) date_range = pd.bdate_range(option_delta.trade_date, - pd.Timestamp('2017-04-19'), freq = 'W') + pd.Timestamp('2017-04-19'), freq='W') vol_shock = np.arange(-0.15, 0.3, 0.01) spread_shock = np.arange(-0.2, 0.3, 0.01) -vs = VolatilitySurface("IG", 27, trade_date=option_delta.trade_date) -vol_surface = vs[vs.list(model="black")[-1]] +vs = BlackSwaptionVolSurface("IG", 27, trade_date=option_delta.trade_date) +vol_surface = vs[vs.list()[-1]] df = run_portfolio_scenarios(portf, date_range, spread_shock, vol_shock, vol_surface, ['pv', 'delta']) - -# pnl = [] -# for date in date_range: -# portf.trade_date = date.date() -# try: -# portf.mark(source_list=["BAML", "GS"], model="black") -# except ValueError: -# pnl.append(None) -# continue -# else: -# pnl.append(portf.pnl) -# df = pd.DataFrame({'pnl': pnl}, index=date_range) |
