from analytics.cms_spread import CmsSpread from pathlib import Path import os import pandas as pd DAILY_DIR = Path(os.environ["DAILY_DIR"]) r = [] today = pd.Timestamp.today() trade = CmsSpread.from_tradeid(1) dr = pd.bdate_range("2018-01-19", today, closed="left", normalize=True) for d in dr: trade.value_date = d r.append(trade.pv) def gs_navs(trade_id='LTAAB4ZN3333L6TTSH7.0.0.0'): # load gs navs for a given trade dates = [] r = [] for fname in (DAILY_DIR / "GS_reports").glob("Trade_Detail*.xls"): m = re.match("[^\d]*(\d{2}_.{3}_\d{4})", fname.name) if m: date_string, = m.groups() dates.append(datetime.datetime.strptime(date_string, "%d_%b_%Y")) df = pd.read_excel(fname, skiprows=9, skipfooter=77) r.append(df.set_index('Trade Id').loc[trade_id, 'NPV (USD)']) s = pd.Series(r, dates) s = s.sort_index() #remove the IA until it settled s[:2] -= 68750.00 return -s