from analytics import Portfolio, BlackSwaption, Index, VolatilitySurface, Swaption 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-04-25'), freq = 'B') pnl = [] for date in date_range: portf.trade_date = date.date() portf.mark(source="BAML", 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) # 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 = 'B') # pnl = [] # for date in date_range: # portf.trade_date = date.date() # try: # portf.mark(source="BAML", model="black") # except ValueError: # try: # portf.mark(source="GS", model="black") # except ValueError: # pnl.append(None) # continue # pnl.append(portf.pnl) # df = pd.DataFrame({'pnl': pnl}, index=date_range)