How does the Cornish-Fisher expansion adjust VaR for non-normality, and when should you use it?
I understand that normal VaR underestimates risk when returns have fat tails. The Cornish-Fisher expansion seems like a quick fix — adjusting the z-score for skewness and kurtosis. Can someone walk through the formula and show when it works well versus when it breaks down?
The Cornish-Fisher (CF) expansion is a pragmatic adjustment to the normal VaR that accounts for skewness and excess kurtosis without requiring a full distributional fit. It's a middle ground between naive normal VaR and computationally intensive methods like EVT.
The Formula:
z_CF = z + (z^2 - 1)/6 x S + (z^3 - 3z)/24 x K - (2z^3 - 5z)/36 x S^2
Where:
- z = standard normal quantile (e.g., -2.326 for 99% VaR)
- S = skewness of the return distribution
- K = excess kurtosis of the return distribution
Then: VaR_CF = mu - z_CF x sigma
Worked Example — Havenbrook Capital equity portfolio:
Daily returns: mu = 0.03%, sigma = 1.2%, S = -0.7 (negative skew), K = 4.5 (fat tails)
Standard 99% VaR (normal):
VaR = 0.03% - (-2.326) x 1.2% = 0.03% + 2.79% = 2.82%
Cornish-Fisher adjustment:
z = -2.326
z^2 = 5.410, z^3 = -12.584
Term 1 (skewness): (5.410 - 1)/6 x (-0.7) = 4.410/6 x (-0.7) = -0.5145
Term 2 (kurtosis): (-12.584 + 6.978)/24 x 4.5 = -5.606/24 x 4.5 = -1.051
Term 3 (skew^2): -(2(-12.584) - 5(-2.326))/36 x 0.49 = -(-25.168 + 11.630)/36 x 0.49 = -(-13.538/36) x 0.49 = 0.184
z_CF = -2.326 - 0.5145 - 1.051 + 0.184 = -3.708
VaR_CF = 0.03% - (-3.708) x 1.2% = 0.03% + 4.45% = 4.48%
The CF adjustment increases VaR from 2.82% to 4.48% — a 59% increase due to fat tails and negative skewness.
When CF Works Well:
- Moderate departures from normality (|S| < 2, K < 8)
- Confidence levels up to 99.5%
- As a quick analytical adjustment to parametric VaR
- When full distributional fitting is impractical
When CF Breaks Down:
- Extreme kurtosis (K > 10): Higher-order terms become important
- Very high confidence levels (99.9%+): The expansion diverges
- Bimodal distributions: CF assumes unimodal
- Can produce non-monotonic quantile functions (VaR increases then decreases with confidence)
FRM Exam Tips:
- Know the formula and be able to compute z_CF with given S and K
- Negative skewness makes z_CF more negative (larger VaR)
- Positive excess kurtosis also makes z_CF more negative (fatter tails)
- CF is a quick shortcut — for serious tail risk, use EVT
Practice Cornish-Fisher calculations in our FRM Part II question bank.
Master Part II with our FRM Course
64 lessons · 120+ hours· Expert instruction
Related Questions
How exactly do futures margin calls work, and what happens if I can't meet one?
How do you calculate the settlement amount on a Forward Rate Agreement (FRA)?
When should I use Monte Carlo simulation instead of parametric VaR, and how does it actually work?
Parametric VaR vs. Historical Simulation VaR — when does each method fail?
What are the core components of an Enterprise Risk Management (ERM) framework, and how does it differ from siloed risk management?
Join the Discussion
Ask questions and get expert answers.