Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

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

  1. 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. 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. 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.