Multi-Scenario Overnight Risk Fan-Out
The workload that bottlenecks every overnight risk run: re-price every instrument under every scenario. LRDE makes it structurally cheaper.
- 8.5–12×
- Speedup vs scipy BDF
- 29μ
- Max disagreement per trade PV
- 6.6 s
- Production (bucketed) wall time
- 200
- Stochastic scenarios
The scenario
Set the picture
A multi-strategy fund runs overnight portfolio valuation, VaR, Expected Shortfall, and xVA fan-outs. The inner loop: re-price every instrument under every stochastic market scenario. The batch is supposed to finish by 6 AM so traders have risk numbers before the opening bell.
Tonight, the scipy BDF baseline projects to 78 seconds for 200 scenarios. At production scale (5,000 scenarios × 1,000 counterparties), the batch routinely misses the deadline.
Cost today
BDF baseline: ~78 seconds projected for 200 scenarios (2.6 scenarios/sec).
Each scenario is an independent time march. No structural sharing of work across scenarios in the same vol bucket.
What changes with LRDE
LRDE head-to-head (no bucketing): 9.1 seconds, 21.9 scenarios/sec. Same trade PVs to 2.9 × 10⁻⁵ per trade. This is the clean apples-to-apples comparison.
LRDE production (bucketed σ to 0.5 vol pts, r to 25 bps): 6.6 seconds, 30.3 scenarios/sec. A controlled sub-1% NPV approximation well within model-risk tolerance.
Portfolio risk metrics from the production run: Mean NPV 106.85, Stdev 21.12, 1% VaR 42.81, 99th percentile gain 48.87.
Measurable outcome
What we claim — and how it survives review
Each line below maps to a captured number in the demo section. Every number is reproducible from the benchmark suite.
- 8.5× speedup head-to-head (no approximation), 11.8× with production bucketing.
- Max pricing disagreement vs BDF: 2.9 × 10⁻⁵ per trade PV (29 micro-units).
- VaR, Expected Shortfall, and FRTB capital numbers land before the opening bell.
- SHA-256 of every scenario PV matrix for regulatory verification.
- Production bucketing: σ bucketed to 0.5 vol pts, r bucketed to 25 bps — below typical tick movement.
The demo
What was tested. How. What the script printed.
25-trade portfolio (mix of long/short calls and puts, varying strikes and maturities). 200 stochastic market scenarios (S log-normal stdev 5%, σ normal stdev 5 vol pts, r normal stdev 100 bps). Two LRDE modes reported separately for transparency.
The head-to-head mode (full LU per scenario) is the legitimate apples-to-apples comparison. The production-bucketed mode introduces a controlled approximation (~30 cents per trade) and goes a further 1.4× faster.
Captured benchmark output
The numbers the script actually printed.
| Method | Wall time | Scenarios/sec | Speedup | Max abs diff per PV |
|---|---|---|---|---|
| LRDE head-to-head | 9.1 s | 21.9 | 8.5× | 2.9 × 10⁻⁵ |
| LRDE production (bucketed) | 6.6 s | 30.3 | 11.8× | 0.30 (bucketing) |
| BDF baseline (projected) | 78 s | 2.6 | 1.0× | reference |
BDF projected from a 10-scenario subset. Production bucketing: σ to 0.5 vol pts, r to 25 bps.
| Metric | Value |
|---|---|
| Mean NPV | 106.85 |
| Stdev | 21.12 |
| 1% VaR (worst-case loss vs mean) | 42.81 |
| 99th percentile gain | 48.87 |
Composes with
Where this POC sits in the benchmark suite
POC 02
Vol Surface Revaluation
Each scenario re-prices the same surface — POC 2’s LU amortization.
POC 03
Risk Greeks via Finite-Difference Bumping
Greeks under scenarios are the inner loop here.
POC 05
SolvNum Audit & Compression Overlay
SolvNum compresses the scenario PV cube 4× with a regulatory SHA-256.
Evidence pointers
Where the claims live in the repo
These are the files a reviewer should run to re-derive every number on this page.
- poc/lrde_hedge_fund/scenario_xva/bench.py
- docs/pitch/LRDE_HEDGE_FUND_BRIEF.md §5
Previous · POC 03
Risk Greeks via Finite-Difference Bumping
Next · POC 05
SolvNum Audit & Compression Overlay
Want to see these numbers on your book?
Run the benchmark on your actual vol surface and trade book.
Two weeks, $25K, fully credited. No production integration, no data leaving your premises. Every claim above traces back to a script you can run locally.