Skip to content

FRM Part I · FRM Exam Part I

Measuring and Monitoring Volatility: formula sheet

Full chapter guide

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.