aboutsummaryrefslogtreecommitdiffstats
path: root/python/external_deriv_marks.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/external_deriv_marks.py')
-rw-r--r--python/external_deriv_marks.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/python/external_deriv_marks.py b/python/external_deriv_marks.py
index 129a3961..4d9aa333 100644
--- a/python/external_deriv_marks.py
+++ b/python/external_deriv_marks.py
@@ -112,6 +112,24 @@ def baml_navs(date: datetime.date = None):
d[date] = df
return pd.concat(d)
+def bnp_navs(date: datetime.date = None):
+ d = {}
+ date_str = date.strftime("%Y%m%d") if date else ""
+ for fname in (DAILY_DIR / "BNP_reports").glob(f"Exposure*{date_str}.XLS"):
+ try:
+ df = pd.read_excel(fname, skiprows=7)
+ except ValueError:
+ continue
+ df["Trade Ref"] = df["Trade Ref"].str.replace("MBO-", "")
+ df = df.set_index("Trade Ref")
+ df["Trade Date"] = pd.to_datetime(df["Trade Date"], dayfirst=True)
+ df = df[["Trade Date", "Buy/Sell", "Notional 1", "Exposure Amount (Agmt Ccy)", "Lock Up (Agmt Ccy)"]]
+ df.columns = ["trade_date", "buy/sell", "notional", "nav", "ia"]
+ d[datetime.datetime.strptime(fname.stem[-8:], "%Y%m%d").date()] = df
+ df = pd.concat(d)
+ # nav is from BNP's point of view
+ df.nav *= -1.0
+ return df
def cs_navs(date: datetime.date = None):
pass