Recipe
Compute VaR and CVaR from a loss table
Use when: you have a discrete loss table (outcomes and their probabilities) and a risk level \alpha
Goal: the value-at-risk threshold and the conditional value-at-risk that follows it
Taught in Value-at-risk and conditional value-at-risk
Quick recipe
-
1
Sort outcomes from smallest to largest and accumulate probability until the running total first reaches 1-\alpha. That outcome is \mathrm{VaR}_\alpha.
Example
Loss 100 (prob 0.80), 150 (prob 0.15), 600 (prob 0.05); \alpha=0.05. At t=100: P(L\le t)=0.80, not enough. At t=150: P(L\le t)=0.95, clearing the bar exactly. \mathrm{VaR}_{0.05}=150.
⚡ Shortcut
For a loss uniform on [a,b], skip the accumulation and use Section 8's closed form directly: \mathrm{VaR}_\alpha=a+(1-\alpha)(b-a). For [100,200] at \alpha=0.1: \mathrm{VaR}_{0.1}=100+0.9(100)=190.
Why: this is exactly the (1-\alpha)-quantile — the smallest cutoff whose cumulative probability first clears the confidence level.
-
2
Collect every outcome strictly greater than the VaR threshold, and confirm their combined probability equals \alpha.
Example
Continuing the table above, the tail beyond 150 is the single outcome L=600, with probability exactly 0.05.
- the tail has exactly one outcome — \mathrm{CVaR}_\alpha is that outcome itself.
- the tail has more than one outcome — \mathrm{CVaR}_\alpha is a probability-weighted average over the whole tail, not just its largest value.
Why: \mathrm{CVaR} is defined only over the tail beyond VaR — mixing in outcomes below the threshold would understate how bad the worst case actually gets.
-
3
Compute E[L\mid L\ge\mathrm{VaR}_\alpha]: the probability-weighted average of the tail outcomes identified in Step 2.
Example
With the tail equal to the single outcome 600, the average is 600 itself: \mathrm{CVaR}_{0.05}=600.
Why: this is exactly the definition of conditional value-at-risk — the expected loss given landing in the worst \alpha-tail.
Common mistakes
- Reporting VaR alone and assuming it describes tail severity. Two tables can share the same VaR and have wildly different CVaR.
- Averaging over ALL outcomes instead of only the tail beyond VaR.
- Applying the uniform-distribution shortcut to a non-uniform loss table, where CVaR generally isn't a simple midpoint.
- Forgetting to confirm the tail's total probability actually equals \alpha before averaging it.