Skip to content

FRM Exam Part II · Non-parametric Approaches

Weighted Historical Simulation: Age, Volatility and Filtered Methods

Updated 11 October 2026 · Fact-checked

Weighted historical simulation keeps the historical simulation idea but stops treating all past days equally. BRW gives recent days more probability weight. Hull-White rescales old returns by current volatility. Filtered HS uses GARCH residuals. To get VaR, sort the losses, add up weights from the worst loss, and stop at the tail probability.

Understand Weighted Historical Simulation

Plain historical simulation gives every observation in the window the same weight, 1/n. That has two flaws. A shock from two years ago counts as much as yesterday's. And returns from a calm period are used as-is even when markets are now turbulent, so VaR reacts too slowly.

Weighted historical simulation fixes this by adjusting either the probability weights or the returns so the sample reflects current conditions. It is still non-parametric: you do not assume a distribution for returns.

Age-weighted (BRW, Boudoukh-Richardson-Whitelaw): recent observations get more weight. Weights fall by a constant factor λ (0 < λ < 1) for each day back. You then sort losses and read VaR where cumulative weight reaches the tail probability. A lower λ means faster decay and a more responsive, but noisier, estimate.

Volatility-weighted (Hull-White): each historical return is rescaled by the ratio of current volatility to the volatility at the time of that return. A -3% move in a calm period becomes a larger move if volatility is now higher. All observations keep equal probability, but the returns change.

Correlation-weighted: the same idea applied to dependence. You adjust historical returns so their correlation structure matches current correlations, usually through the covariance matrix. Filtered historical simulation (Barone-Adesi): fit a model such as GARCH, standardise returns into residuals, bootstrap those residuals, and rebuild returns using the model's current and forecast volatility. This also lets you simulate over multi-day horizons.

Key formulas to remember

BRW age weight
w(i) = λ^(i−1) × (1 − λ) ÷ (1 − λ^n)
i = 1 is the most recent day, n is the window length. The weights sum to 1. Each older day's weight is λ times the one before.
Weight ratio
w(i+1) ÷ w(i) = λ
Useful shortcut: compute w(1), then multiply by λ repeatedly.
Hull-White volatility-adjusted return
r*(t,i) = r(t,i) × σ(T+1) ÷ σ(t,i)
r(t,i) is the historical return, σ(t,i) the volatility estimated for that day, σ(T+1) the current volatility forecast. Each observation keeps probability 1/n.
Weighted VaR rule
VaR = loss at which cumulative weight, from the worst loss down, first reaches 1 − confidence level
Sort losses from largest to smallest and add their weights. Some texts interpolate between observations.
Filtered HS standardised residual
z(t) = r(t) ÷ σ(t)
σ(t) comes from the fitted volatility model (e.g. GARCH). Bootstrap the z values and multiply by the simulated σ for each future day.

How to solve Weighted Historical Simulation questions

Use this order for any weighted historical simulation question.

  1. 1Identify the method from the wording: decaying weights or λ (BRW), rescaling by volatility (Hull-White), covariance or correlation adjustment, or GARCH residuals (filtered HS).
  2. 2For BRW, compute the weights with w(i) = λ^(i−1)(1 − λ)/(1 − λ^n). Check they sum to 1. Day 1 is the most recent.
  3. 3For Hull-White, multiply each return by current volatility ÷ the volatility at that return's date. Then convert to profit and loss on the current position.
  4. 4Sort the resulting losses from largest to smallest, keeping each loss paired with its weight (1/n if returns were rescaled).
  5. 5Add weights from the worst loss. VaR is the loss where cumulative weight first reaches 1 − confidence level.
  6. 6State the result with its unit (USD or EUR) and interpret it: compare with plain historical simulation and say whether it is more or less responsive.
  7. 7If asked about weaknesses, mention the choice of λ or the volatility model, the effective sample size for BRW, and sensitivity to the volatility estimate.

Quickest way: Weights first, then walk down the sorted losses

When to use it: Numerical BRW questions with a small window, or questions asking which loss is the VaR.

  1. Compute w(1) = (1 − λ)/(1 − λ^n). Get every other weight by multiplying by λ.
  2. Write each loss next to its weight. The most recent day carries w(1).
  3. Rank losses from worst to best.
  4. Add weights down the ranking until the total reaches or passes the tail probability.
  5. For Hull-White, do the scaling in one line: new return = old return × current vol ÷ old vol. Check the direction: if current vol is higher, the number gets bigger.

Common mistakes in Weighted Historical Simulation

  • Giving the oldest observation the largest weight, or numbering days the wrong way.

    Data tables are often listed oldest first, while the formula uses i = 1 for the most recent day.

    Fix: Label the most recent day as i = 1 before applying λ^(i−1). Check that weights fall as you go back in time.

  • Using weights that do not sum to 1.

    Students use λ^(i−1) × (1 − λ) and forget the 1 − λ^n divisor for a finite window.

    Fix: Always include the divisor, then add up your weights as a check.

  • Counting observations instead of weights when finding the VaR cutoff.

    Plain historical simulation trains you to pick the k-th worst loss.

    Fix: In BRW, add weights from the worst loss. The cutoff rank depends on the weights, not on a fixed count.

  • Inverting the Hull-White ratio.

    The ratio is written as two volatilities and the order is easy to swap.

    Fix: Current volatility goes on top. If markets are calmer now than then, old returns shrink; if more volatile, they grow.

  • Saying Hull-White changes the probability weights.

    Confusing it with BRW because both are called weighted.

    Fix: BRW changes probabilities and leaves returns alone. Hull-White changes returns and leaves probabilities equal.

  • Calling filtered historical simulation fully non-parametric.

    It uses bootstrapped residuals, which look like historical simulation.

    Fix: Remember it combines a parametric volatility model (such as GARCH) with non-parametric residuals.

Worked examples

Example 1

A risk manager uses BRW with λ = 0.5 on a window of n = 4 days. Daily portfolio losses in USD million, with day 1 the most recent, are: day 1: 2, day 2: 8, day 3: 3, day 4: 5. Find the weights and the 70% VaR.

Show the solution
  1. Denominator: 1 − λ^n = 1 − 0.0625 = 0.9375.
  2. w(1) = (1 − 0.5)/0.9375 = 0.5333 (= 8/15).
  3. Multiply by 0.5 each day back: w(2) = 0.2667, w(3) = 0.1333, w(4) = 0.0667. Sum = 1.0000.
  4. Pair losses with weights: day 2 loss 8 has weight 0.2667; day 4 loss 5 has 0.0667; day 3 loss 3 has 0.1333; day 1 loss 2 has 0.5333.
  5. Sort from worst: 8, 5, 3, 2. Tail probability = 1 − 0.70 = 0.30.
  6. Cumulative weight: after 8 it is 0.2667 (below 0.30). After 5 it is 0.3333 (reaches 0.30).
  7. The cutoff is the loss of 5.

Answer: Weights are 0.5333, 0.2667, 0.1333 and 0.0667. The 70% VaR is USD 5 million.

Example 2

A bank applies Hull-White volatility weighting. On day A the portfolio return was −3.0% when estimated daily volatility was 1.0%. On day B the return was −2.0% when estimated volatility was 2.5%. Current daily volatility is 2.0%. The position is USD 10 million. Find the adjusted returns and the adjusted losses.

Show the solution
  1. Day A scaling factor = 2.0 ÷ 1.0 = 2.0.
  2. Day A adjusted return = −3.0% × 2.0 = −6.0%.
  3. Day A adjusted loss = 6.0% × 10 million = USD 0.60 million.
  4. Day B scaling factor = 2.0 ÷ 2.5 = 0.8.
  5. Day B adjusted return = −2.0% × 0.8 = −1.6%.
  6. Day B adjusted loss = 1.6% × 10 million = USD 0.16 million.
  7. Interpret: day A came from a calm period, so it is scaled up. Day B came from a more volatile period than today, so it is scaled down.

Answer: Adjusted returns are −6.0% (loss USD 0.60 million) and −1.6% (loss USD 0.16 million). These losses then enter the sorted sample with equal 1/n probabilities.

Exam tips

  • Know who does what: BRW changes probability weights, Hull-White changes returns, filtered HS uses a volatility model plus bootstrapped residuals.
  • Expect conceptual MCQs on why weighting helps: faster reaction to volatility changes and less influence from stale data.
  • In BRW questions, check the direction of λ. A lower λ means faster decay, higher weight on recent days and a smaller effective sample.
  • Know the trade-offs: Hull-White can produce losses larger than anything in the historical sample, which plain historical simulation cannot.
  • When a number is asked, write weights to four decimals and confirm they sum to 1 before reading VaR.

Practice questions from Non-parametric Approaches

Weighted Historical Simulation in other exams

The same ground in other exams, if you are preparing for more than one or want another angle on it.

Weighted Historical Simulation: frequently asked questions

What is the difference between age-weighted and volatility-weighted historical simulation?

Age-weighted (BRW) gives recent days higher probability weights and leaves the returns unchanged. Volatility-weighted (Hull-White) rescales each return by current volatility divided by the volatility at that time, and keeps equal probabilities. Both aim to make VaR reflect current conditions.

How do I calculate weighted historical simulation VaR?

Build the weights or adjusted returns, convert them to losses, and sort the losses from worst to best. Add weights from the worst loss until the total reaches 1 minus the confidence level. That loss is the VaR.

What does λ do in the BRW method?

λ is the decay factor. Each day further back gets λ times the weight of the day after it. A value near 1 behaves like equal weighting, while a smaller value puts most weight on very recent days.

What is filtered historical simulation?

It fits a volatility model such as GARCH, divides returns by fitted volatility to get standardised residuals, and bootstraps those residuals. They are then multiplied by simulated volatilities to produce future returns. It handles volatility clustering and multi-day horizons better than plain historical simulation.