|
| 1 | +# Model Risk Report (V1) — Market Risk VaR/ES |
| 2 | + |
| 3 | +## 1. Purpose |
| 4 | +Demonstrate a validation-ready risk engine that: |
| 5 | +1) computes VaR/ES under clear assumptions and conventions, and |
| 6 | +2) evaluates reliability using standard model risk diagnostics. |
| 7 | + |
| 8 | +## 2. Loss Convention (Non-negotiable) |
| 9 | +All risk measures are reported as **positive loss amounts**: |
| 10 | +- returns < 0 represent losses |
| 11 | +- VaR, ES ≥ 0 |
| 12 | +- ES ≥ VaR |
| 13 | + |
| 14 | +## 3. Models Implemented |
| 15 | +### 3.1 Historical Simulation (HS) |
| 16 | +- VaR computed as the empirical *(1 − α)* quantile of portfolio returns |
| 17 | +- ES computed as the conditional mean of returns beyond the VaR threshold |
| 18 | + |
| 19 | +### 3.2 Parametric Normal |
| 20 | +- assumes portfolio returns are approximately normal |
| 21 | +- VaR/ES derived from μ and σ using Φ^{-1}(α) and φ(z) |
| 22 | + |
| 23 | +### 3.3 Monte Carlo (MVN) |
| 24 | +- simulates multivariate normal returns using sample μ, Σ |
| 25 | +- includes light covariance shrinkage toward diagonal for stability |
| 26 | +- VaR/ES computed from simulated portfolio return distribution |
| 27 | + |
| 28 | +### 3.4 Filtered Historical Simulation (GARCH-lite) |
| 29 | +- fixed-parameter GARCH(1,1) volatility filter produces σ_t |
| 30 | +- standardized residuals z_t = r_t / σ_t |
| 31 | +- VaR/ES computed from z distribution and scaled by σ_{t+1} |
| 32 | + |
| 33 | +## 4. Validation Approach |
| 34 | +### 4.1 Rolling Backtest (1-day VaR) |
| 35 | +- estimate VaR_t from trailing window using data up to t−1 |
| 36 | +- exception occurs if realized r_t falls below VaR threshold |
| 37 | +- output: exception series and backtest summary |
| 38 | + |
| 39 | +### 4.2 Kupiec POF (Unconditional Coverage) |
| 40 | +- H₀: exception probability equals (1 − α) |
| 41 | +- returns LR statistic and p-value |
| 42 | +- small p-values indicate rejection of correct coverage |
| 43 | + |
| 44 | +## 5. Known Limitations (Explicit) |
| 45 | +- HS assumes returns are iid/stationary within window |
| 46 | +- Normal and MVN assume elliptical tails and may understate tail risk |
| 47 | +- GARCH-lite uses fixed parameters (not MLE-estimated) |
| 48 | +- Backtest currently targets unconditional coverage only (no independence test in V1) |
| 49 | + |
| 50 | +## 6. Next Validation Extensions (Planned) |
| 51 | +- Christoffersen independence / conditional coverage |
| 52 | +- stress testing of window sensitivity and α calibration |
| 53 | +- bootstrap confidence intervals for VaR estimates |
0 commit comments