Value-at-Risk: Deriving the Quantile That's Used Everywhere
A working derivation of Value-at-Risk as a portfolio loss quantile. Three estimation paths — parametric, historical, Monte Carlo — and why each assumption breaks under stress.
Walk into any risk management meeting and the first number on the slide will be a VaR. Walk into a regulator’s office and the first thing they ask for is a VaR model. Walk into a trading floor and every desk knows its intraday VaR. The figure has been the dominant measure of market risk since the 1990s — embedded into Basel II/III capital rules, into clearinghouse margin models, and into the daily risk reports of every institution above a certain size (McNeil, Frey & Embrechts, 2010, §2.1).
It is also a measure that most practitioners misuse. The number that appears on a risk dashboard is rarely the number that drives the decision; the assumption behind it is. If you do not know exactly which assumptions hold for your VaR number — parametric Gaussian tail, historical sample, or Monte Carlo — you do not know what your VaR is telling you.
This article is a working derivation. We start from the definition, then walk through the three estimation paths, then pick apart the assumptions.
Loss, Profit, and the Sign Convention
Let be the loss on a portfolio over a holding period . Most banks define where is the profit, so a positive means the portfolio lost money. The holding period is one day for trading desks, ten days for regulatory capital under the Basel framework.
Suppose is a continuous random variable with cumulative distribution function . The -quantile of — that is, the value such that — is
The Value-at-Risk at confidence level is defined as
For , we are looking at the 99th percentile of the loss distribution. The interpretation: with probability , the loss over the holding period will not exceed VaR. Equivalently, the probability of a loss worse than VaR is .
The famous USD 10M 1-day 99% VaR means: “There is a 99% probability the portfolio will not lose more than USD 10M over one day.” This implies an expected loss worse than USD 10M about once every 100 trading days, or roughly 2.5 times per year.
Two clarifications that matter in practice (McNeil, Frey & Embrechts, 2010, §2.2):
- VaR is a threshold, not an expected loss. The expected loss when VaR is breached can be much larger.
- VaR tells us nothing about the shape of the tail beyond itself. A loss of USD 50M and a loss of USD 5B are equally “in the tail” once they exceed VaR; VaR cannot distinguish between them.
Parametric VaR: The Delta-Normal Approximation
The simplest route to a VaR number is to assume a parametric form for and read off the quantile. The workhorse is the delta-normal method, which assumes:
- Portfolio profit is linear in the risk factor changes (delta approximation).
- Risk factor changes are jointly normal.
Under these two assumptions, the portfolio loss is also normally distributed (Hull, 2018, Ch. 22).
Let the portfolio value be , where is a vector of risk factors (log-prices, rates, FX). For small changes , the linear approximation is
where is the gradient (the “delta” vector). If , then
The loss is with . This is the variance-covariance VaR formula. The -quantile of a normal with mean 0 is
where is the standard normal quantile function. For , , so
The advantage: closed form, fast, requires only the current delta and covariance matrix. The disadvantage: three assumptions fail routinely.
Failure 1: Convexity. For non-linear positions (options, mortgages, structured products), the linear approximation is poor for large moves. A delta-gamma approximation adds a second-order term:
With Gaussian, the quadratic form is chi-squared distributed, and the distribution of is non-central chi-squared. The VaR can be computed via Cornish-Fisher expansion or full numerical inversion (Hull, 2018, Ch. 22.4).
Failure 2: Fat tails. Daily equity returns have kurtosis around 5-15, not 3 as normal would predict. The empirical quantile of returns is around 2.5-3σ in calm markets, but jumps to 4-6σ in stressed periods. A normal VaR calibrated on 250 days of returns will systematically underestimate the true tail quantile.
Failure 3: Mean shifts. The delta-normal formula assumes the mean of is zero. For multi-day horizons this is false: drift accumulates. For a 10-day VaR, the relevant mean is , which can shift the quantile noticeably. Most banks handle this by computing 1-day VaR and then scaling by under an iid assumption — a practice that is theoretically wrong and empirically OK when mean is small.
Historical VaR: Quantile of Past Returns
The non-parametric alternative is to take yesterday’s losses, sort them, and look up the -quantile. No distribution assumption. Just the empirical distribution.
Algorithm (Glasserman, 2004, §1.3):
- Collect the past daily P&L values of the portfolio, .
- Sort them in increasing order to obtain order statistics .
- Estimate the -quantile as .
For trading days (roughly two years) and , the order statistic index is . The historical 99% VaR is the 495th-worst loss in the sample. If only four days out of 500 produced losses, then historical VaR is bounded by the fourth-worst observation — it cannot exceed the empirical support.
The advantages are clear: no distributional assumption, the tail is whatever the data says it is, easy to explain to non-quants.
The disadvantages are equally clear and more serious:
Lookback sensitivity. Historical VaR depends entirely on the lookback window. Use one bad day in the window and the 99% VaR can jump 30%. Use 1000 days instead of 250 and the estimate is more stable but less responsive to regime change. The literature converges on 250-500 days as a practical compromise (Basel Committee, 1996).
Tail observations matter. Because only the order statistic at index is used, historical VaR throws away 99% of the data. Doubling the sample size does not move the VaR estimate much — you go from of 500 to of 1000, which is the second-worst observation in either case. The variance of the quantile estimator at high confidence is poor.
Conditional vs unconditional. Historical VaR treats today as exchangeable with the worst historical day. If 2020 saw massive losses, but 2021-2023 was calm, historical VaR computed over a four-year window is dominated by 2020. The estimate is “what would have happened if 2020 happened today” — not exactly reassuring.
Monte Carlo VaR: The Simulation Route
The third path is simulation. Build a model for the joint dynamics of risk factors, simulate many paths forward by the holding period, reprice the portfolio on each, and read the -quantile of the simulated losses (Glasserman, 2004, Ch. 4).
Algorithm:
- Specify a risk model: where are iid shocks.
- For , simulate a path forward by steps and compute .
- Sort and report the -th value.
For and , we get the 99,000th smallest simulated loss. The variance of this quantile estimator scales as
where is the density at the quantile. The inverse-square dependence on the density is why high-quantile VaR is expensive to estimate by simulation — typically 100k-1M paths are needed to get a tight estimate at the 99.5% level (Glasserman, 2004, §4.1).
Monte Carlo VaR is the most flexible: handle non-linearity, fat tails, stochastic vol, regime shifts. Each requires extending the simulation model, but the recipe does not change. The cost is compute and model risk. If the risk model is wrong, every percentile of the simulated distribution is wrong, including VaR.
import numpy as np
from scipy import stats
# Simulate 1-day returns on a 2-asset Gaussian portfolio
np.random.seed(0)
n_sims = 100_000
mu = np.array([0.0004, 0.0002])
Sigma = np.array([[0.0004, 0.0001],
[0.0001, 0.0009]])
L = np.random.multivariate_normal(mu, Sigma, size=n_sims) # losses
portfolio_loss = -0.6 * L[:, 0] - 0.4 * L[:, 1] # weighted loss
# Historical VaR: empirical quantile
hist_var_99 = np.quantile(portfolio_loss, 0.99)
# Parametric VaR under Gaussian assumption
port_vol = np.sqrt(np.array([0.6, 0.4]) @ Sigma @ np.array([0.6, 0.4]))
param_var_99 = port_vol * stats.norm.ppf(0.99)
# Compare
print(f"Parametric VaR (Gaussian): {param_var_99:.5f}")
print(f"Monte Carlo VaR (empirical): {hist_var_99:.5f}")
Run this and you will see the parametric number slightly smaller than the empirical one, because the empirical distribution is finite-sample noisy around the tail.
Why the Assumptions Matter
I will be blunt: most operational VaR numbers are wrong. Not by a little — by a factor of 2-5x in stressed conditions. There are three layers of assumption, and a failure at any layer invalidates the number.
Layer 1: Distributional. Parametric VaR assumes normal or lognormal tails. Financial returns have power-law tails. A 99% normal VaR calibrated on 250 days misses true tail losses with empirical frequency of about 1.5-2% in calm markets and 5-10% in stressed ones. The Basel Committee itself recognized this, mandating banks compute a stressed VaR using a 12-month window of stressed data (BCBS, 2012).
Layer 2: Dependence. All three VaR variants share an assumption about how risk factors co-move. Parametric assumes a fixed covariance matrix. Historical assumes past dependence generalizes. Monte Carlo assumes the simulation model captures dependence. The 2008 crisis showed all three can fail simultaneously: correlated assets that were assumed near-independent in calm markets turned out to be near-perfectly correlated in stress — exactly when VaR most needed to be right.
Layer 3: Horizon scaling. The square-root-of-time rule is wrong except for iid Gaussian returns. Under GARCH, the scaling is approximately but the multiplicative correction can be 30-50%. Under jumps, the appropriate scaling is closer to linear in .
What VaR Is Actually Good For
Despite the limitations, VaR is the right tool for some jobs (McNeil, Frey & Embrechts, 2010, §2.6):
- Capital budgeting at high confidence. When a bank allocates risk capital against a 99% or 99.9% VaR, the capital is “enough most of the time.” It is not a guarantee, but it is a budget.
- Communication. “One-day 99% VaR is USD 10M” is a number non-quants can understand. Expected Shortfall (covered in the next article) is harder to interpret but theoretically superior.
- Counterparty and concentration risk screening. If position A and position B both have a USD 1M 99% VaR, you have a candidate for a concentration limit.
- Regulatory reporting. Basel III requires it. So do most clearinghouses. So do most internal limits.
VaR is not the right tool for: pricing tail risk, setting economic capital for low-probability catastrophic events, comparing risk across fundamentally different portfolios, or detecting model risk. For those jobs you need Expected Shortfall or coherent alternatives, which the next article takes up.
The key is to never trust a single VaR number without knowing which of the three paths generated it. Parametric VaR is fastest and most wrong. Historical VaR is most defensible and most myopic. Monte Carlo VaR is most flexible and most exposed to model risk. A robust risk stack combines them and flags when they disagree.
References
Basel Committee on Banking Supervision. Minimum Capital Requirements for Market Risk. BCBS d424, 2012.
Glasserman, P. (2004). Monte Carlo Methods in Financial Engineering. Springer. ISBN 978-0387004518. Chs. 1, 4.
Hull, J. C. (2018). Options, Futures, and Other Derivatives (10th ed.). Pearson. ISBN 978-0134472089. Ch. 22.
McNeil, D., Frey, R., & Embrechts, P. (2010). Quantitative Risk Management: Concepts, Techniques and Tools. Princeton University Press. Chs. 2-3.