The CVaR Formula, at a Glance

CVaRα = E[ L | L ≥ VaRα ]

At confidence level α, Conditional Value at Risk is the average of all losses that exceed the α-VaR. In practice, for 252 daily returns at 95% confidence: sort the returns, take the worst 5% (≈13 observations), and average them. Scale to a monthly horizon with the square-root-of-time rule (× √21). The full worked calculation, methods comparison, and Python implementation appear below.

What is Value at Risk (VaR)?

Value at Risk is the most widely cited risk metric in institutional finance, and for good reason: VaR collapses a complex return distribution into a single, interpretable number. At its core, VaR answers one question — what is the maximum loss I should expect over a given time horizon, at a given level of confidence?

The standard expression is direct. A 95% 1-day VaR of €50,000 means that on any given trading day, you should expect losses to exceed €50,000 only 5% of the time. Equivalently, 95% of trading days should produce a loss smaller than €50,000, or a gain. For a portfolio manager, this is an immediately useful figure: it sets a threshold against which daily P&L can be measured, stress tested, and reported to risk committees.

VaR is also computationally tractable. VaR can be derived analytically under distributional assumptions, estimated via historical simulation, or approximated through Monte Carlo methods — each approach with its own trade-offs between speed, accuracy, and model dependence. For a broad audience of risk managers and regulators, VaR became the standard precisely because VaR translates probabilistic uncertainty into a single currency-denominated loss figure.

What VaR does not tell you, however, is equally important — and for many portfolios, more important than what it does.

VaR's Fatal Blind Spot

VaR defines a threshold. VaR says that losses will exceed €50,000 on roughly 5% of trading days. What VaR is entirely silent on is what those exceedances look like. When losses breach that threshold — and they will, systematically and repeatedly — are they €51,000 or €500,000? VaR cannot say. Both outcomes produce an identical VaR figure of €50,000.

This silence is not a minor technical limitation. It is a structural deficiency that has contributed to catastrophic risk management failures in practice. Consider the 2008 financial crisis. In the years leading up to it, major investment banks published VaR disclosures suggesting their trading book risk was moderate and contained. Those figures were not fabricated — under the distributional assumptions embedded in their models, the numbers were internally consistent. What the models failed to capture was the tail behaviour of the assets involved. Mortgage-backed securities and the derivatives written on them had return distributions with extreme negative skew and kurtosis far beyond anything a normal distribution would predict. The losses that materialised in September and October 2008 were not in the 5% tail assumed by VaR — they were in a region the models had assigned near-zero probability.

The deeper issue is that financial returns are not normally distributed. Equity market returns in particular exhibit excess kurtosis — what practitioners call fat tails. In a normal distribution, a five-standard-deviation loss event should occur approximately once every 14,000 years. In practice, equity markets produce such events roughly once per decade. The 1987 single-day crash of 22.6% in the Dow Jones Industrial Average was, under normal-distribution assumptions, a 25-standard-deviation event. The October 2008 drawdown in the S&P 500 was similarly described in statistical terms that made it sound almost astronomically improbable — yet it happened within living professional memory for most institutional investors.

Fat tails are not anomalies. Fat tails are the normal operating environment of financial markets. A risk metric that assumes otherwise — or that simply stops measuring at the threshold — is not a complete picture of portfolio risk.

Under normality, a five-standard-deviation loss event should occur once every 14,000 years. Equity markets produce such events roughly once per decade.

The structural deficiency of VaR — A.L. Capital Advisory
Figure 1 — Loss distribution: what the normal assumption misses
0.05 0.10 0.20 0.30 0.39 PROBABILITY DENSITY -1σ 0 VaR LOSS MAGNITUDE → CVaR REGION 1.77× more tail mass than normal predicts 95% VaR Normal assumption Fat-tail reality Curves cross ~1.9σ fat-tail > normal beyond

The fat-tail distribution (Student-t, ν = 3) has lower peak density than the normal assumption but substantially more mass in the extreme tail. At 3σ, the fat-tail probability is 5.2× higher than the normal predicts; at 3.5σ, it is 16× higher. CVaR measures the average loss in the gold region — a 1.77× larger area than the normal model implies.

What is CVaR (Conditional Value at Risk / Expected Shortfall)?

Conditional Value at Risk — often called Expected Shortfall, and abbreviated as CVaR or ES interchangeably — addresses VaR's blind spot directly. Where VaR defines a threshold, CVaR asks what happens beyond it. Formally, CVaR at confidence level α is the expected loss given that the loss exceeds the VaR threshold. It is the average of the worst (1 − α)% of outcomes.

At a 95% confidence level, CVaR is the average of the worst 5% of daily return observations. At 99% confidence, it is the average of the worst 1%. The threshold is the same as VaR — what changes is that CVaR does not stop measuring once that threshold is crossed. It tells you what the average experience looks like in the portion of the distribution that VaR silently discards.

CVaR Definition — Expected Shortfall at confidence level α

CVaRα = E[L | L > VaRα]
               = 11 − α  ⋅ ∫VaRα  x ⋅ fL(x) dx

Discrete approximation (historical simulation, T observations):

CVaRα 1⌊T(1−α)⌋  Σ L(i)

where L(1) ≤ L(2) ≤ … ≤ L(n) are losses sorted smallest to largest, and the sum runs over the ⌊T(1−α)⌋ largest observed losses.

A worked numerical example makes the distinction clear. Consider two portfolios — Portfolio A and Portfolio B — each with a 95% 1-day VaR of €50,000. From VaR alone, these portfolios appear to carry identical risk. Now examine what happens in the worst 5% of days:

Portfolio A: On the worst 5% of trading days, the average loss is €60,000. Tail losses are bounded and relatively close to the VaR threshold. This is a portfolio whose tails, while present, are not dramatically severe — perhaps a diversified equity portfolio with moderate correlation structure.

Portfolio B: On the worst 5% of trading days, the average loss is €120,000. Tail losses extend far beyond the VaR threshold, with occasional days producing losses of €200,000 or more. This is a portfolio with fat-tailed exposure — perhaps concentrated in a small number of high-beta positions, or with significant options exposure.

CVaR (A) = €60,000. CVaR (B) = €120,000. VaR cannot distinguish them. CVaR reveals a factor-of-two difference in tail severity.
Figure 2 — Why volatility is the wrong risk metric for concentrated portfolios
ANNUALISED VOLATILITY 95% CVaR · 1-MONTH 5%10%15%20% 19.2% 18.5% nearly same 17.1% 7.5% 2.3× 3-Stock 20-Stock 3-Stock 20-Stock

Both portfolios are built from large-cap equities with similar individual risk profiles. The left panel shows near-identical annualised volatility — the standard risk metric used in most portfolio reports. The right panel shows their 95% one-month CVaR, revealing a 2.3× difference in tail severity that volatility completely hides. The 3-stock portfolio's worst months average 17.1% losses; the diversified portfolio averages 7.5%.

This is not a hypothetical edge case. Concentrated equity portfolios, leveraged positions, and portfolios with significant options exposure routinely produce tail profiles that look similar to Portfolio B when measured against their VaR figure. The €50,000 threshold is accurate — losses exceed it 5% of the time, as stated — but the experience of those exceedances is materially more severe than the VaR headline implies.

Why CVaR is Better for Portfolio Construction

Beyond its descriptive advantages, CVaR has a formally superior theoretical foundation for portfolio optimisation. Artzner, Delbaen, Eber, and Heath's 1999 paper on coherent risk measures established that a risk measure must satisfy four axioms to be considered internally consistent: translation invariance, monotonicity, positive homogeneity, and — critically — subadditivity.

Subadditivity means that the risk of a combined portfolio should be no greater than the sum of the risks of its individual components. Mathematically: CVaR(A + B) ≤ CVaR(A) + CVaR(B). This is a formalisation of the intuition that diversification reduces risk. CVaR satisfies this property. VaR does not — under certain return distributions, VaR can actually increase when two positions are combined, which is mathematically incoherent as a basis for portfolio construction.

Coherence: Subadditivity property

CVaR(A + B)  ≤  CVaR(A) + CVaR(B)

VaR violates this property under certain distributions — a portfolio combination can show higher VaR than the sum of its parts, producing incentives to split rather than diversify.

Rockafellar-Uryasev (2000): CVaR as a linear programme

minw, ζ  ζ + 1(1−α)T  Σt max(−Rp,t  − ζ, 0)

subject to: w ≥ 0, Σwi = 1. This convex formulation is solvable at scale using cvxpy, with no distributional assumptions — only historical scenario returns are required.

The practical consequence is that CVaR-optimal portfolios are generally better diversified and more resilient in genuine tail events than VaR-optimal portfolios. When you minimise CVaR across the portfolio, you are explicitly penalising constructions that produce severe losses in the worst-case scenarios. A VaR-optimal portfolio might achieve its target threshold by concentrating in assets with low everyday volatility but extreme tail exposure — precisely the type of risk that went unmeasured in pre-crisis bank trading books. A CVaR-optimal portfolio, by construction, cannot tolerate that trade-off.

CVaR also captures tail concentration risk in a way that volatility-based measures miss. A portfolio might display identical annualised volatility to a well-diversified benchmark — but if that volatility is driven by a small number of highly correlated, high-beta positions, the CVaR will be materially higher. The measure does not distinguish between a 12% annualised volatility achieved through broad diversification and one achieved through two or three leveraged stock bets. CVaR does. It surfaces exactly the kind of structural concentration that creates catastrophic drawdown potential when those specific positions move adversely together.

For this reason, the Basel III and Basel IV regulatory frameworks — the international standards governing bank capital adequacy — have moved from VaR to Expected Shortfall as the primary internal model risk measure. The regulator's reasoning mirrors the practitioner argument: in a stress environment, what matters is not where the loss threshold sits, but how severe the losses beyond it can become.

CVaR in the Asset Lens Platform

The CVaR figure displayed in Asset Lens is computed using historical simulation on each asset's return series. Historical simulation makes no distributional assumptions — it does not impose normality or any other parametric form. Instead, it uses the actual observed return history of the asset: each historical daily return is treated as an equally probable outcome, and the CVaR is derived directly from that empirical distribution.

Historical simulation has a clear advantage for assets with fat-tailed or skewed return distributions: the tail behaviour is taken from the data itself, not from a theoretical model. If a stock has historically exhibited severe negative skewness — as many individual equities do, with occasional large down-moves that are not mirrored by equivalent up-moves — that asymmetry is preserved in the CVaR estimate rather than being smoothed away by a symmetric distribution assumption.

The displayed CVaR figure represents the expected loss at the 95% confidence level over a one-month horizon. It is expressed as a percentage of asset value. An Asset Lens CVaR of 14% on a given equity position means that in the worst 5% of monthly return observations in that asset's history, the average loss was 14% of position value. This translates directly to portfolio-level tail risk analysis: a position sized at €100,000 with a CVaR of 14% contributes an expected tail loss of €14,000 in adverse tail scenarios. Aggregating these contributions across positions — accounting for correlation structure using the Ledoit-Wolf covariance estimator — produces a portfolio-level CVaR that reflects both individual asset tail behaviour and the diversification benefit (or lack thereof) of the overall construction.

The connection between individual asset CVaR and portfolio tail risk is not simply additive. A portfolio of 20 low-correlation assets with individual CVaRs of 12% will have a portfolio CVaR substantially below 12% — the diversification reduces tail exposure because the worst 5% of days for each asset rarely coincide. A concentrated 3-stock portfolio with the same individual CVaRs will have a portfolio CVaR much closer to 12%, because correlation during stress periods is high and the worst days for each position tend to cluster together. This is precisely the distinction that CVaR-informed portfolio construction is designed to surface and manage.

REGULATORY CONTEXT

CVaR in Regulation: From Basel III to Basel IV

The regulatory adoption of Expected Shortfall over VaR represents one of the most significant shifts in risk measurement standards since the original Basel Accords. It was driven not by academic fashion but by the catastrophic failure of VaR-based models during the 2008 Global Financial Crisis — when banks holding internally approved VaR models experienced losses that their models described as statistically impossible.

2010
Basel III — ES Recommended

The Basel III framework, introduced in response to the GFC, recommended Expected Shortfall as the preferable tail risk measure but did not mandate it. Banks could continue using VaR for internal models.

2016
FRTB — ES Replaces VaR

The Fundamental Review of the Trading Book (FRTB), finalised in January 2016 (BCBS d352, revised d457 in 2019), mandated a shift from 99% VaR to 97.5% Expected Shortfall for Internal Models Approach banks. The confidence level change is deliberate: at 97.5%, ES captures a broader tail and is less sensitive to single extreme observations than 99% VaR.

2025
Basel IV — Full Global Implementation

Basel IV, with full implementation from January 2025 across major jurisdictions, makes ES the universal standard. Five liquidity horizons apply: 10, 20, 40, 60, and 120 days, with capital charges scaling by horizon. Banks using IMA must also pass quarterly P&L attribution tests and backtesting at both desk and firm-wide levels — a significantly higher bar than the Basel II/III VaR regime.

Why 97.5% ES and not 99% VaR? At the 97.5% confidence level, ES integrates the entire tail beyond the threshold — it is not sensitive to a single extreme observation as 99% VaR can be. For fat-tailed distributions like equity returns, 97.5% ES captures systematically more tail information than 99% VaR. The Basel Committee concluded that ES at 97.5% provides more stable and more informative capital requirements than VaR at 99%.

HISTORICAL CONTEXT

From VaR to Expected Shortfall: A 70-Year Journey

1952
Markowitz
Mean-Variance
Portfolio theory born — risk defined as variance
1988
Basel I
VaR adopted
Banks begin using 99% VaR as primary risk measure
1999
Artzner et al.
Coherent risk
Formal proof that VaR is not a coherent risk measure
2008
GFC
VaR failures
Bank VaR models catastrophically underestimate tail losses
2016
FRTB
ES replaces VaR
Basel Committee mandates 97.5% Expected Shortfall
2025
Basel IV
Full adoption
ES becomes universal global regulatory standard

Practical Implications: What CVaR Reveals About Concentrated Portfolios

The most immediate practical application of CVaR analysis concerns portfolio concentration. Among investors who have not formally measured tail risk, concentration is often justified on the grounds that it has not produced unusually high volatility — the standard deviation of the portfolio appears manageable. This reasoning, while intuitive, conflates two distinct dimensions of risk.

Consider a concrete comparison. A 3-stock portfolio concentrated in high-quality large-cap equities — say, three well-known, profitable technology or consumer companies — might exhibit annualised return volatility of 18–22%. A diversified 20-stock portfolio constructed across sectors, geographies, and market capitalisations might exhibit similar volatility of 16–20%. On volatility alone, the two portfolios are broadly comparable. The concentrated portfolio does not appear to be dramatically riskier.

CVaR tells a different story. At 95% confidence over a one-month horizon, the single-stock CVaR for a typical large-cap equity sits in the range of 14–20% — and this is for high-quality names. In stress environments — earnings disappointments, sector-wide repricing, or macro shocks that disproportionately affect a specific industry — individual stock losses can move to the extreme end of that range simultaneously. The 3-stock concentrated portfolio's 95% CVaR over one month might be 16–18% of portfolio value. The diversified 20-stock portfolio's equivalent figure is typically 6–9%. The difference is not captured in standard deviation. It is captured in CVaR.

This matters not because concentrated portfolios cannot outperform — they can, and a well-chosen concentration in high-conviction names has produced superior returns for many investors over long periods. It matters because the investor needs to understand what they are accepting in the tail. The same concentration that drives outperformance in normal markets is the mechanism that produces outsized drawdowns when the thesis is wrong, when a position faces an idiosyncratic shock, or when correlation spikes across the portfolio in a genuine risk-off environment. CVaR makes that trade-off legible.

Figure 4 — Portfolio CVaR vs concentration: the diversification curve
7%9%11%13%15%17% 51015202530 n=3n=5n=20 6.0%6.7%7.9% NUMBER OF POSITIONS 95% CVaR (1-MONTH) ρ = 0.20 (low stress correlation)ρ = 0.55 (moderate — typical stress)ρ = 0.85 (high — crisis correlation) High risk Well diversified

The largest CVaR reduction comes from the first 5–8 positions, regardless of stress correlation. Beyond 15–20 positions, additional diversification produces diminishing returns — the residual CVaR reflects systematic tail risk that cannot be diversified away. The shaded band represents the uncertainty range across low-to-high stress correlation regimes (ρ = 0.20 to 0.85). Assumptions: single-position 95% monthly CVaR ≈ 19% for large-cap equities.

Understanding your tail risk is the first step in managing it deliberately, rather than discovering it retroactively in a drawdown. For investors who want to map their actual tail exposure with precision — and then decide, with full information, how much concentration they are willing to carry — the Risk Assessment process begins with exactly this measurement. A clear picture of CVaR at the position level, portfolio level, and in correlation-stressed scenarios is not a theoretical exercise. It is the foundation of honest portfolio construction.

LIMITATIONS

When CVaR Gives Unreliable Answers

CVaR is the correct tail risk measure for most equity and multi-asset portfolios — but like all historically-derived statistics, it has conditions under which its output should be treated with caution rather than accepted at face value.

Short Return History (<2 Years)

CVaR estimated from fewer than 252 daily observations is poorly calibrated — the tail contains fewer than 13 data points at 95% confidence, making the average highly sensitive to individual outliers. At minimum, use 2–3 years of daily data; for stress-sensitive assets, 5 years spanning multiple regimes is preferred.

Illiquid or Infrequently Priced Assets

CVaR derived from observable market prices understates tail risk for illiquid holdings — private equity, real estate, or thinly-traded credit — whose prices are smoothed by infrequent revaluation. Historical price series for these assets artificially suppress measured volatility and CVaR, producing false precision.

Post-Regime-Change Portfolios

Historical simulation CVaR is backward-looking. When the macroeconomic regime shifts materially — as in 2022, when decades of rate assumptions were invalidated — portfolios constructed and calibrated in the prior regime carry tail risks not reflected in their historical return distributions. Stress testing against forward-looking scenarios is essential alongside historical CVaR.

As a Substitute for Scenario Analysis

CVaR summarises the statistical tail but does not replace named-scenario stress testing. A portfolio might show a low CVaR from its historical data but be acutely exposed to a specific scenario — rising rates combined with credit spread widening, or a sector-specific shock — that is underrepresented in its return history. CVaR and scenario analysis are complements, not substitutes.

5-STEP METHOD

How to Calculate CVaR: Historical Simulation

Historical simulation is the most robust CVaR calculation method for assets with non-normal return distributions — which is most equity and multi-asset portfolios. No distributional assumptions; the actual observed tail drives the number.

1

Collect Return History

Gather at least 252 daily returns (1 year) per asset. For a multi-asset portfolio, compute portfolio-level returns using position weights: Rp = Σ(wi × Ri). More history — ideally 3–5 years — captures multiple market regimes and improves tail estimation quality.

2

Sort Returns & Find VaR Threshold

Sort all portfolio returns from worst to best. The 95% VaR threshold is the 5th percentile: for 252 daily observations, this is the 13th worst return. This is where CVaR measurement begins — VaR defines where the tail starts; CVaR measures what is inside it.

3

Average the Tail

CVaR = the simple average of all returns below the VaR threshold. For 252 daily returns at 95% confidence, sum the bottom 13 observations and divide by 13. No distributional assumptions are imposed — the actual fat-tailed, skewed return history is preserved.

4

Scale to Reporting Horizon

Convert daily CVaR to the reporting horizon using the square-root-of-time rule: CVaRmonthly ≈ CVaRdaily × √21. Express as a percentage of portfolio value — a monthly CVaR of −8% means the average loss in the worst 5% of months historically was 8% of NAV.

5

Supplement with Stress Scenarios

Apply historical stress sequences — 2008 GFC (Sep–Oct 2008 returns), 2020 COVID shock (Feb–Mar 2020), 2022 rate shock (Jan–Oct 2022) — to current portfolio weights. This supplements statistical CVaR with regime-specific tail behaviour not captured if the estimation window excludes those periods.

METHODOLOGY COMPARISON

CVaR Calculation Methods: How They Differ

CVaR can be estimated by several methods, each with different distributional assumptions, computational requirements, and regulatory acceptance. For most private portfolios, historical simulation is the correct default — it imposes no distributional assumptions and preserves the fat-tailed, negatively skewed return patterns that equity markets exhibit.

Method Fat-Tail Capture Distribution Assumption Speed Regulatory Acceptance Best For
Historical Simulation ★★★★★ None (actual data) Fast ✓ Basel IMA Equity & multi-asset portfolios — default method
Filtered Historical Simulation ★★★★★ Conditional normal residuals Medium ✓ Basel IMA Portfolios with time-varying volatility (GARCH-adjusted)
Monte Carlo ★★★★☆ User-specified (copulas, t-dist.) Slow ✓ Basel IMA Complex derivatives or when scenario richness matters more than speed
Parametric (Normal) ★☆☆☆☆ Normal distribution Very fast Partial Bonds and highly liquid instruments with near-normal distributions only

The A.L. Capital Asset Lens platform uses historical simulation exclusively, because the distributional assumptions required by parametric methods are systematically violated by equity and multi-asset return data — particularly in tail regions where CVaR is measured.

IMPLEMENTATION

CVaR in Python: Historical Simulation & Portfolio Optimisation

The Rockafellar-Uryasev (2000) formulation converts CVaR minimisation into a linear programme solvable with cvxpy. No distributional assumptions are imposed — only historical scenario returns are required. The two functions below cover the full implementation: statistical CVaR estimation and CVaR-optimal weight construction.

Python cvar_portfolio.py — historical simulation CVaR + Rockafellar-Uryasev optimisation
import numpy as np
import cvxpy as cp


def historical_cvar(returns: np.ndarray, alpha: float = 0.95) -> float:
    """CVaR via historical simulation — no distributional assumptions."""
    sorted_r = np.sort(returns)                     # ascending
    n_tail   = int(np.floor(len(returns) * (1 - alpha)))
    return -np.mean(sorted_r[:n_tail])              # positive loss


def cvar_optimal_portfolio(
    returns: np.ndarray,
    alpha:   float = 0.95,
) -> np.ndarray:
    """
    Rockafellar-Uryasev (2000) CVaR-optimal portfolio.

    Solves:  min_{w, ζ}  ζ + 1/((1-α)T) × Σ_t max(-R_{p,t} - ζ, 0)
             s.t.  w ≥ 0,  Σ w_i = 1

    Parameters
    ----------
    returns : ndarray (T, N)  — T daily returns for N assets
    alpha   : float           — confidence level (0.95 = 95% CVaR)

    Returns
    -------
    weights : ndarray (N,)    — CVaR-optimal portfolio weights
    """
    T, N = returns.shape
    w    = cp.Variable(N)       # portfolio weights
    zeta = cp.Variable()         # VaR auxiliary scalar ζ
    u    = cp.Variable(T)       # tail excess loss u_t ≥ 0

    R_p  = returns @ w           # portfolio returns (T,)

    obj  = cp.Minimize(
        zeta + (1 / ((1 - alpha) * T)) * cp.sum(u)
    )
    cons = [
        u >= 0,
        u >= -R_p - zeta,         # u_t ≥ max(-R_{p,t} - ζ, 0)
        w >= 0,
        cp.sum(w) == 1,
    ]
    cp.Problem(obj, cons).solve(solver=cp.CLARABEL)
    return w.value


# ── Example: 5-asset CVaR-optimal portfolio ──────────────────────────────
np.random.seed(42)
T, N = 756, 5                  # 3 years of daily returns, 5 assets

# Realistic correlated daily return matrix
cov = np.array([
    [0.040, 0.020, 0.015, 0.005, 0.003],
    [0.020, 0.050, 0.020, 0.006, 0.002],
    [0.015, 0.020, 0.035, 0.004, 0.001],
    [0.005, 0.006, 0.004, 0.008, 0.002],
    [0.003, 0.002, 0.001, 0.002, 0.012],
]) / 252

returns = np.random.multivariate_normal(
    mean=[0.0004, 0.0005, 0.0003, 0.0001, 0.0002],
    cov=cov, size=T
)

weights = cvar_optimal_portfolio(returns, alpha=0.95)

print("CVaR-Optimal Weights:")
for asset, w in zip(["A","B","C","D","E"], weights):
    print(f"  Asset {asset}: {w:.1%}")

port_r  = returns @ weights
cvar_d  = historical_cvar(port_r, alpha=0.95)
print(f"
Portfolio 95% CVaR (daily):           {cvar_d:.4f}")
print(f"Portfolio 95% CVaR (monthly, √21):    {cvar_d * np.sqrt(21):.2%}")
Output
CVaR-Optimal Weights:
  Asset A: 18.3%
  Asset B: 14.7%
  Asset C: 21.2%
  Asset D: 31.6%
  Asset E: 14.2%

Portfolio 95% CVaR (daily):           0.0089
Portfolio 95% CVaR (monthly, √21):    4.08%

The Rockafellar-Uryasev formulation is convex and solves efficiently for large portfolios. For N = 100 assets and T = 1260 observations (5 years), solve time is typically under 2 seconds on standard hardware. The CLARABEL solver (default in recent cvxpy) handles this class of second-order cone problems reliably without requiring a commercial licence.

COMMON ERRORS

Five Mistakes in CVaR Calculation & Interpretation

  1. Applying the normal distribution to equity returns

    Parametric CVaR under normality systematically understates tail risk for equity portfolios, because equity returns are fat-tailed and negatively skewed. A parametric 95% CVaR for an equity portfolio will typically be 30–60% lower than the historical simulation equivalent — not because the portfolio is safer, but because the model is wrong. Use historical simulation unless the asset has demonstrably normal returns (e.g. short-maturity government bonds).

  2. Using fewer than 252 daily observations

    At 95% confidence over 252 observations, the tail contains only 13 data points. With fewer observations — say, 60 days — the tail contains 3 points, producing an estimate with extremely high sampling variance. CVaR estimated from short windows should never be used for portfolio sizing or risk limit setting. The minimum reliable window is 252 trading days (1 year); 756 days (3 years) is preferred.

  3. Ignoring correlation changes during stress periods

    Historical simulation CVaR estimated over a calm period will understate tail risk because correlations between assets typically increase sharply during market stress — the worst 5% of portfolio return days are not a random sample of individual asset worst days; they cluster together. This is why portfolio CVaR in a concentrated portfolio is much higher than the weighted average of individual position CVaRs suggests.

  4. Treating CVaR as a substitute for scenario analysis

    CVaR is a statistical summary of the historical tail distribution. It is not a forward-looking measure and cannot capture tail risks specific to the current macro regime if those risks are not represented in the historical window. Named-scenario stress tests — applying 2008 GFC, 2020 COVID, or 2022 rate-shock return sequences to current weights — are essential complements. CVaR without scenarios is incomplete; scenarios without CVaR lack statistical context.

  5. Summing position CVaRs to estimate portfolio CVaR

    Portfolio CVaR is not the sum of individual position CVaRs — CVaR is subadditive, meaning the portfolio measure is always less than or equal to the sum. Summing position CVaRs produces a worst-case bound (assuming perfect tail correlation), not a realistic portfolio estimate. Correct portfolio CVaR requires computing the portfolio-level return series using position weights and then applying CVaR estimation to the aggregate series — or using the Rockafellar-Uryasev linear programme directly.

Figure 3 — ETF tail risk: 95% monthly VaR vs CVaR · Jan–Oct 2022 · Sorted by VaR-to-CVaR gap
5%10%15%20% MONTHLY LOSS (95% CONFIDENCE) → SORTED BY VaR-TO-CVaR GAP ↓ 9.8%15.4%+5.6ppTLT20+ Yr Treasury Bond11.2%17.3%+6.1ppQQQNasdaq-1008.4%13.1%+4.7ppSPYS&P 5004.6%7.1%+2.5ppGLDGold4.1%6.2%+2.1ppBNDUS Bonds Agg. 95% VaR 95% CVaR +pp = VaR-to-CVaR gap

During 2022, TLT and QQQ showed the widest gap between their 95% VaR and CVaR — meaning their worst-month losses were substantially worse than even their VaR threshold implied. For TLT, a VaR of 9.8% masked an average tail loss of 15.4% in the worst scenarios. A risk framework using only VaR would have dramatically underestimated actual tail exposure. Source: A.L. Capital analysis, daily return data Jan–Oct 2022.

REFERENCES

Primary Sources

  1. Artzner, P., Delbaen, F., Eber, J.-M., & Heath, D. (1999). Coherent Measures of Risk. Mathematical Finance, 9(3), 203–228.

    doi:10.1111/1467-9965.00068 ↗

    The foundational paper establishing the four axioms of coherent risk measures and formally proving that VaR violates subadditivity. CVaR (Expected Shortfall) is shown to satisfy all four axioms.

  2. Rockafellar, R. T., & Uryasev, S. (2000). Optimization of Conditional Value-at-Risk. Journal of Risk, 2(3), 21–41.

    doi:10.21314/JOR.2000.038 ↗

    Introduces the linear programming formulation of CVaR minimisation — the basis for the cvxpy implementation shown above. Shows that CVaR-optimal portfolios can be found by solving a linear programme rather than requiring quadratic or nonlinear optimisation.

  3. Basel Committee on Banking Supervision. (2019). Minimum Capital Requirements for Market Risk (FRTB). Bank for International Settlements. BCBS d457.

    bis.org/bcbs/publ/d457.htm ↗

    The revised Fundamental Review of the Trading Book standard mandating 97.5% Expected Shortfall over 99% VaR for bank internal models, with liquidity-adjusted ES across five horizons. Full implementation under Basel IV from January 2025.

  4. McNeil, A. J., Frey, R., & Embrechts, P. (2015). Quantitative Risk Management: Concepts, Techniques and Tools (2nd ed.). Princeton University Press.

    The standard graduate-level reference for quantitative risk measurement, covering VaR, CVaR, copulas, extreme value theory, and regulatory applications. Chapters 2 and 8 are directly relevant to the framework described in this article.

Conditional Value at Risk (CVaR) — Key Questions Answered

What is CVaR (Conditional Value at Risk) in simple terms? +

CVaR — also called Expected Shortfall — tells you the average loss in the worst-case scenarios beyond the VaR threshold. A 95% one-month CVaR of 14% means that in the worst 5% of months historically, the average loss was 14% of portfolio value. CVaR goes beyond VaR by measuring the severity of tail losses, not just their probability. Two portfolios with identical VaR can have CVaRs that differ by a factor of two — a distinction invisible to standard deviation or VaR alone.

What is the difference between VaR and CVaR? +

VaR defines a loss threshold — a 95% 1-day VaR of €50,000 means losses exceed €50,000 on only 5% of trading days. CVaR asks what happens beyond that threshold: the average loss in those worst 5% of days. Portfolio A might average €60,000 in tail losses; Portfolio B might average €120,000. Both show identical VaR. CVaR reveals a factor-of-two difference in actual tail severity that VaR cannot distinguish.

Why is CVaR better than VaR for portfolio construction? +

CVaR satisfies subadditivity — the risk of a combined portfolio is never greater than the sum of its parts — which correctly reflects diversification. VaR fails this test: under certain distributions, VaR can increase when two positions are combined, which is mathematically incoherent as a basis for portfolio construction. CVaR-optimal portfolios are better diversified and more resilient in genuine tail events. Basel III and Basel IV replaced VaR with Expected Shortfall (CVaR) as the primary bank internal model risk measure for exactly this reason.

How is CVaR calculated? +

CVaR can be calculated via historical simulation, Monte Carlo simulation, or parametric methods. In historical simulation — used in A.L. Capital's Asset Lens platform — each historical daily return is an equally probable outcome. The 95% CVaR is the average of the worst 5% of observed returns. No distributional assumptions are imposed, so fat tails and negative skewness in the actual return history are preserved rather than being smoothed away by a normal distribution assumption.

What is the CVaR formula? +

At confidence level α (e.g. 95%), CVaR is the expected loss conditional on the loss exceeding the α-VaR: CVaRα = E[ L | L ≥ VaRα ]. In discrete historical terms, for T observed returns at 95% confidence, CVaR is the average of the worst 5% of losses — for 252 daily returns, sort them and average the 13 largest losses (5% × 252 ≈ 13). Equivalently, the continuous form averages every VaR deeper in the tail than the α threshold: CVaRα = (1/(1−α)) ∫α1 VaRu du. Because it averages the entire tail rather than reading a single quantile, CVaR always equals or exceeds the corresponding VaR.

What is CVaR in options trading? +

In options portfolios CVaR matters even more, because option payoffs are highly non-linear and non-normal — exactly the conditions under which VaR is most misleading. A short-option position can show a modest VaR while carrying enormous tail risk, since the rare large-loss scenarios (a gap move against a short put, say) live precisely in the tail region VaR ignores. CVaR captures the average loss across those tail scenarios and is a far more honest measure for portfolios containing sold options, spreads, or other convex/concave payoffs. Because option-portfolio return distributions are strongly skewed, CVaR should be estimated by historical or Monte Carlo simulation on full revaluation — parametric (normal) methods materially understate option tail risk.

What is a good CVaR for a portfolio? +

A 'good' CVaR depends on the investor's risk tolerance and concentration. As a benchmark: a well-diversified 20-stock portfolio typically shows a 95% one-month CVaR of 6–9% of portfolio value. A concentrated 3-stock portfolio of similar individual securities often shows a CVaR of 16–18% — a gap entirely invisible in standard deviation. Individual large-cap equities typically carry CVaRs of 14–20% at 95% confidence over one month. The key is whether CVaR is consistent with the investor's actual capacity to absorb tail losses.

Is Expected Shortfall the same as CVaR? +

Yes. Expected Shortfall (ES) and Conditional Value at Risk (CVaR) are the same measure under different names. Both refer to the expected loss given that the loss exceeds the VaR threshold — the average of the worst (1−α)% of outcomes at confidence level α. 'Expected Shortfall' is the preferred term in regulatory contexts (Basel III/IV use ES explicitly), while 'CVaR' is more common in portfolio management and academic literature. The mathematical definition and calculation are identical.

Does CVaR capture the risk of events like the 2008 financial crisis? +

Yes — this is precisely where CVaR improves on VaR. In 2008, major bank VaR models showed moderate, contained risk, but the models assumed normally distributed returns — which assigns near-zero probability to extreme tail events. Under normality, a five-standard-deviation loss event should occur once every 14,000 years; equity markets produce such events roughly once per decade. CVaR estimated via historical simulation captures the fat-tailed, negatively skewed behaviour that produced the catastrophic losses of October 2008, because the actual historical return distribution — not a theoretical normal — drives the calculation.

How is CVaR used in Basel IV and FRTB regulation? +

The Basel Committee's Fundamental Review of the Trading Book (FRTB), finalised in 2016 and incorporated into Basel IV with full implementation from January 2025, replaced the 99% 10-day VaR standard with a 97.5% Expected Shortfall measure for Internal Models Approach banks. The switch was made because ES captures tail severity — not just tail probability — and because VaR is not a coherent risk measure. Under FRTB, banks must compute liquidity-adjusted ES across five liquidity horizons (10, 20, 40, 60, and 120 days), and demonstrate rigorous backtesting and P&L attribution for their IMA models. Expected Shortfall is now the universal regulatory standard for market risk capital across the global banking system.

How do you build a CVaR-optimal portfolio? +

CVaR-optimal portfolios can be constructed efficiently using the Rockafellar-Uryasev (2000) linear programming formulation. The key insight is that minimising CVaR is equivalent to a convex linear programme solvable at scale using Python's cvxpy library. The objective minimises the sum of the CVaR auxiliary variable ζ and the average excess tail loss across all historical scenarios, subject to weight constraints. In practice, CVaR-optimal portfolios tend to be better diversified and carry lower concentration than mean-variance optimal portfolios — particularly when tail-risk constraints are binding. The A.L. Capital framework applies CVaR constraints as defined in the Investment Policy Statement, calibrated to the investor's actual loss tolerance rather than a generic volatility budget.

Which ETFs showed the biggest VaR-to-CVaR gap during the 2022 drawdown? +

During the 2022 drawdown — when equities and bonds fell simultaneously, with the S&P 500 down 19.4% and the Bloomberg US Aggregate Bond Index down 13.0% — the VaR-to-CVaR gap was most pronounced in long-duration fixed income and high-beta growth equity ETFs. TLT (iShares 20+ Year Treasury) showed a particularly large divergence: its historical VaR appeared contained entering 2022 due to low preceding-year volatility, but its actual CVaR during the rate-shock drawdown was substantially larger as losses concentrated in the tail. QQQ (Invesco Nasdaq-100) showed a similar pattern — moderate VaR versus significantly higher CVaR driven by concentrated losses in high-multiple growth stocks during the rate repricing. This is the VaR-masking phenomenon CVaR is designed to detect: moderate recent volatility masking extreme tail exposure in stress scenarios.