From 71127c14f281702218a409a512e106b3d158b836 Mon Sep 17 00:00:00 2001 From: Immanuel Edunsin Date: Wed, 23 Jul 2025 16:27:35 +0100 Subject: [PATCH] Delete risk.py --- risk.py | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 risk.py diff --git a/risk.py b/risk.py deleted file mode 100644 index 339def6..0000000 --- a/risk.py +++ /dev/null @@ -1,32 +0,0 @@ -def pnl_path(spot_series, obs_forward, notional=1_000_000): - """ - Given a time series of spot prices (list of floats) and a - locked-in forward price (obs_forward), returns a list of - PnL values under a +1 lot trade. - PnL_t = notional * (spot_t - obs_forward) - """ - return [notional * (s - obs_forward) for s in spot_series] - -import random -# e.g. 10 days of spot returns ±0.5% -base = 1.16987 -path = [] -for _ in range(10): - shock = random.uniform(-0.005, 0.005) - base = base * (1 + shock) - path.append(round(base, 6)) - -from risk import pnl_path - -# assume obs_forward from your engine, e.g. 1.17105 -obs_forward = 1.17105 -pnls = pnl_path(path, obs_forward) -print("Day-by-day PnL:", pnls) - -import numpy as np - -# compute daily PnL changes -diffs = np.diff(pnls) -# find the 5th percentile loss -var95 = -np.percentile(diffs, 5) -print(f"1-day 95% VaR: ${var95:,.2f}")