FRM Part I · FRM Exam Part I
Measuring and Monitoring Volatility: formula sheet
Key formulas
- Simple return
- R = (P₁ − P₀ + D) ÷ P₀
- D is any income received in the period. Without income, R = P₁ ÷ P₀ − 1.
- Log return
- r = ln(P₁ ÷ P₀) = ln(1 + R)
- Also called continuously compounded return. Inverse: R = e^r − 1.
- Multi-period log return
- r(0,T) = r₁ + r₂ + … + r_T
- Log returns add over time. Simple returns compound: 1 + R = (1 + R₁)(1 + R₂)…
- Sample variance
- s² = Σ(rᵢ − r̄)² ÷ (n − 1)
- Volatility is s = √s². Many risk-model questions assume a zero mean and divide by n instead; follow the question.
- Square root of time rule
- σ(T periods) = σ(1 period) × √T
- Valid for i.i.d. returns. Variance scales with T, volatility with √T.
- Annualizing daily volatility
- σ(annual) = σ(daily) × √252
- Use the trading-day count given. Monthly to annual uses √12; weekly uses √52.
- Portfolio simple return
- R_p = Σ wᵢRᵢ
- Holds for simple returns across assets in one period, not for log returns.
- Annualizing historical volatility
- σ_annual = σ_daily × √252
- Use the number of periods per year in your data (252 daily, 52 weekly, 12 monthly). Volatility scales with the square root of time, not time.
- Sample historical volatility
- σ = √[ Σ (rᵢ − r̄)² ÷ (n − 1) ]
- rᵢ are returns, often ln(Sᵢ ÷ Sᵢ₋₁). Many exam questions use the zero-mean shortcut σ² ≈ Σ rᵢ² ÷ n; follow the question's instruction.
- Log return
- rᵢ = ln(Sᵢ ÷ Sᵢ₋₁)
- Continuously compounded return used with BSM.
- Implied volatility definition
- Find σ such that BSM(S, K, T, r, q, σ) = market option price
- Solved numerically. The BSM price of a European call or put is strictly increasing in σ, so a market price within the no-arbitrage bounds gives a unique implied volatility.
- Newton-Raphson update
- σ_new = σ_old − (Model price − Market price) ÷ Vega
- Vega is positive, so a model price below market means you raise σ.
- Scaling volatility over time
- σ_T = σ_annual × √T
- For a 1-month horizon, T = 1/12. VIX is quoted annualized; divide by √12 for the one-month standard deviation.
- Equally weighted variance (zero mean)
- σ²ₙ = (1/M) × Σ rₙ₋ᵢ², for i = 1 to M
- rₙ₋ᵢ is the return i days before day n. Each squared return has weight 1/M. Volatility = √σ²ₙ.
- Equally weighted variance (with sample mean)
- σ̂² = [1/(M − 1)] × Σ (rᵢ − r̄)²
- Unbiased sample variance. Use it only when the question asks for the mean to be estimated.
- Rolling update of the estimate
- σ²ₙ₊₁ = σ²ₙ + (1/M) × (r²ₙ − r²ₙ₋M)
- Add the newest squared return and drop the oldest one. Handy when only a change is asked.
- Annualizing volatility
- σ(annual) = σ(daily) × √T
- T is the number of periods per year, commonly 252 trading days for daily data. This assumes independent returns.
- Standard error of a variance estimate (normal returns)
- se(σ̂²) ≈ σ² × √(2/M)
- Shows why a longer window gives a more precise estimate.
- EWMA recursive update
- σₙ² = λσₙ₋₁² + (1 − λ)rₙ₋₁²
- σₙ² is the variance forecast for day n, made at the end of day n−1. rₙ₋₁ is the return on day n−1. Assumes zero mean return.
- EWMA weights
- weight on rₙ₋ᵢ² = (1 − λ)λⁱ⁻¹, for i = 1, 2, 3, ...
- Weights decline geometrically and sum to 1 over an infinite history.
- Volatility from variance
- σₙ = √(σₙ²)
- Always take the square root last. Daily volatility scales to T days by multiplying by √T.
- EWMA as GARCH(1,1)
- ω = 0, α = 1 − λ, β = λ
- Since α + β = 1, there is no long-run variance and no mean reversion.
- Ratio of successive weights
- wᵢ₊₁ ÷ wᵢ = λ
- Useful for finding the weight on an older return from a recent one.
- GARCH(1,1) variance equation
- σ²ₙ = ω + α·uₙ₋₁² + β·σ²ₙ₋₁
- uₙ₋₁ is the return from the previous period. σ²ₙ₋₁ is the previous variance estimate. Parameters ω, α, β are positive.
- Persistence
- α + β
- Must be less than 1 for a stable model. Closer to 1 means shocks decay more slowly.
- Long-run variance
- V_L = ω ÷ (1 − α − β)
- Defined only when α + β < 1. Long-run volatility is √V_L.
- Alternative parametrisation
- ω = γ·V_L, with γ = 1 − α − β
- Gives σ²ₙ = γ·V_L + α·uₙ₋₁² + β·σ²ₙ₋₁. The weights γ, α, β sum to 1.
- Expected future variance
- E[σ²ₙ₊ₜ] = V_L + (α + β)ᵗ × (σ²ₙ − V_L)
- Gap to V_L shrinks by the factor (α + β) each period.
- Half-life of a variance shock
- t = ln(0.5) ÷ ln(α + β)
- Periods for the gap to V_L to halve.
- EWMA as a special case
- σ²ₙ = λ·σ²ₙ₋₁ + (1 − λ)·uₙ₋₁²
- GARCH with ω = 0, α = 1 − λ, β = λ. Persistence equals 1, so no mean reversion.
- Log-likelihood objective (zero mean, normal)
- Maximize Σ [ −ln(vᵢ) − uᵢ² ÷ vᵢ ]
- Constants are dropped. Full form per day: −½ln(2π) − ½ln(vᵢ) − uᵢ² ÷ (2vᵢ). Maximizing either gives the same parameters. Compare raw values only if the same form is used.
- EWMA variance
- vᵢ = λ·vᵢ₋₁ + (1 − λ)·uᵢ₋₁²
- One parameter, λ. It is a special case of GARCH with ω = 0, α = 1 − λ, β = λ.
- GARCH(1,1) variance
- vᵢ = ω + α·uᵢ₋₁² + β·vᵢ₋₁
- Needs ω > 0, α ≥ 0, β ≥ 0 and α + β < 1.
- Long-run variance
- V_L = ω ÷ (1 − α − β)
- Exists only if α + β < 1. α + β is the persistence.
- Ljung-Box statistic
- Q = m(m + 2) Σₖ₌₁ᴷ ηₖ² ÷ (m − k)
- m is the number of observations and ηₖ is the lag-k autocorrelation of uᵢ²/vᵢ. Compare Q with a chi-square critical value with K degrees of freedom. A high Q means leftover autocorrelation, so the model is inadequate. Some texts reduce K by the number of estimated parameters.
- Likelihood ratio test
- LR = 2 × (lnL_unrestricted − lnL_restricted) ~ χ²(number of restrictions)
- Only for nested models. Reject the restricted model if LR exceeds the critical value.
- AIC and BIC
- AIC = 2k − 2lnL; BIC = k·ln(n) − 2lnL
- k is the number of parameters and n the sample size. Lower is better. BIC penalizes parameters more heavily when n is large.
- GARCH(1,1) variance
- σ²ₙ = ω + α·u²ₙ₋₁ + β·σ²ₙ₋₁
- Requires α + β < 1 for stationarity and ω > 0.
- Long-run variance
- V_L = ω ÷ (1 − α − β)
- Long-run volatility = √V_L. Also ω = γ·V_L with γ = 1 − α − β.
- k-day-ahead variance forecast
- E[σ²ₙ₊ₖ] = V_L + (α + β)^k × (σ²ₙ − V_L)
- Here σ²ₙ is the variance for day n, so k = 0 gives σ²ₙ. Check the day indexing in the question.
- Persistence
- α + β
- Closer to 1 means slower mean reversion.
- Half-life
- h = ln(0.5) ÷ ln(α + β)
- Days for the gap to V_L to halve.
- Variance over T days
- Σ E[σ²ₙ₊ₖ] for k = 0 to T−1
- Sum daily variances, then take the square root for T-day volatility.
- EWMA forecast
- E[σ²ₙ₊ₖ] = σ²ₙ for all k
- EWMA has no mean reversion.
- Annualisation
- σ_annual = σ_daily × √252
- Use the number of trading days given in the question.
- EWMA covariance update
- cov_n = λ × cov_(n-1) + (1 − λ) × x_(n-1) × y_(n-1)
- x and y are the previous day's returns (percentage or decimal, be consistent). Mean assumed zero.
- EWMA variance update
- σ²_n = λ × σ²_(n-1) + (1 − λ) × u²_(n-1)
- Use the same λ as for the covariance.
- Correlation
- ρ_n = cov_n ÷ (σx,n × σy,n)
- Take square roots of the updated variances first.
- GARCH(1,1) covariance
- cov_n = ω + α × x_(n-1) × y_(n-1) + β × cov_(n-1)
- Long-run covariance = ω ÷ (1 − α − β), needing α + β < 1.
- Positive semidefinite condition
- wᵀ Σ w ≥ 0 for every weight vector w
- All eigenvalues of Σ are ≥ 0. Portfolio variance can never be negative.
- Two-asset portfolio variance
- σ²p = w1² σ1² + w2² σ2² + 2 w1 w2 cov12
- Use it to check a covariance matrix gives sensible variance.
Quick revision
- Variance is estimated from squared returns; the common simplification assumes a mean of zero for short horizons.
- Scale volatility to a longer horizon by multiplying by √T, under the assumption of independent returns.
- Implied volatility is backed out of option prices and is forward-looking; historical volatility uses past returns.
- Equal weights give every observation the same weight and react slowly to new shocks.
- EWMA: σₙ² = λσₙ₋₁² + (1 − λ)rₙ₋₁². RiskMetrics used λ = 0.94 for daily data.
- EWMA has no long-run variance, so forecasts stay flat at the current level.
- GARCH(1,1): σₙ² = ω + αrₙ₋₁² + βσₙ₋₁², with weights summing: γ + α + β = 1 where ω = γV.
- Long-run variance V = ω ÷ (1 − α − β); it requires α + β < 1 for stability.
- Persistence is α + β; higher values mean slower mean reversion.
- Forecast: E[σₙ₊ₖ²] = V + (α + β)ᵏ(σₙ² − V).
- Parameters are estimated by maximum likelihood, which maximises the likelihood of the observed returns.
- Covariance updates the same way as variance, using the product of the two returns in place of the squared return.
Common mistakes
- Scaling volatility by T instead of √T. Fix: Variance scales by T. Volatility scales by √T. Write which one you are scaling.
- Adding simple returns across time to get a multi-period return. Fix: Compound simple returns with (1 + R₁)(1 + R₂) − 1, or add log returns.
- Annualizing by multiplying daily volatility by 252 instead of √252. Fix: Variance grows linearly with time, so volatility grows with the square root of time. Use √252.
- Treating implied volatility as a forecast that is always accurate. Fix: Implied volatility contains a risk premium and is model-dependent. It tends to exceed later realized volatility on average, especially for equity index options, but not for every asset or period.
- Taking the square root too early or forgetting it at the end. Fix: Read what is asked. Variance is the average of squared returns. Volatility is its square root.
- Including returns outside the window or miscounting M. Fix: Use only the last M returns. Count them before you sum.
- Putting the weight λ on the squared return instead of on the old variance. Fix: Remember that λ is persistence. A high λ means the old variance dominates, so λ multiplies σₙ₋₁².
- Forgetting to square the return, or squaring volatility incorrectly. Fix: Convert everything to variance before applying the formula. Take the square root only at the end.
- Using ω ÷ (α + β) or ω ÷ (1 − α) for long-run variance. Fix: Always divide ω by (1 − α − β). It equals ω divided by γ, the weight on the long-run variance.
- Plugging return or volatility into the equation instead of squared return and variance. Fix: Square the return and square the volatility before substituting. Convert 1.2% to 0.012, then square to 0.000144.
Exam tips
- Read whether the question gives variance or volatility. Many wrong options come from missing the square root.
- Keep the 252, 52 and 12 factors in mind, but use the day count the question states.
- Know why each return type is used: log returns for time aggregation, simple returns for portfolio aggregation.
- Questions on stylized facts expect you to name volatility clustering, fat tails and the failure of the i.i.d. assumption.
- A financial calculator has ln and √ keys. Use them to avoid rounding errors on log returns.
- Be ready for conceptual questions on why implied volatility tends to exceed realized volatility, especially for equity index options: the answer is the volatility risk premium plus demand for protection.
- Always check the annualization factor in the question. Quick errors here cost easy marks.
- For VIX questions, remember it is derived from index options, expected 30-day horizon, quoted annualized.