FRM Exam Part I · Measuring and Monitoring Volatility
EWMA and GARCH Covariance and Correlation Monitoring
Updated 11 October 2026 · Fact-checked
Covariance monitoring updates the covariance between two returns each day. EWMA uses cov_n = λ × cov_(n-1) + (1 − λ) × x_(n-1) × y_(n-1). Correlation is covariance divided by the product of the two volatilities. A valid covariance matrix must be positive semidefinite.
Understand Correlation and Covariance Monitoring
Volatility models track how risk changes over time. The same idea works for two assets. Instead of squaring one return, you multiply the returns of two assets. The product is today's raw estimate of their covariance.
EWMA (exponentially weighted moving average) mixes yesterday's estimate with the newest product of returns. The weight λ controls memory. A high λ, such as 0.94 or 0.97, means the estimate changes slowly. A low λ reacts fast to new data. The model assumes mean returns are zero, which is reasonable for daily data.
GARCH(1,1) adds a long-run level. The covariance update is cov_n = ω + α × x_(n-1) × y_(n-1) + β × cov_(n-1). Because of the long-run term, the estimate pulls back toward a long-run covariance, where the long-run value is ω ÷ (1 − α − β). EWMA is a special case with ω = 0, α = 1 − λ and β = λ.
Correlation is not updated directly. You update the two variances and the covariance with the same model and the same parameters, then compute correlation = covariance ÷ (σ1 × σ2). This keeps the correlation between −1 and +1.
A covariance matrix must be positive semidefinite. That means no portfolio can have negative variance. Updating each element with the same λ (EWMA), or with consistent parameters across all elements, keeps the matrix valid. Using different λ values or different data windows for different elements can break this property. Then the matrix is internally inconsistent and portfolio variance may come out negative.
Key formulas to remember
- 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.
How to solve Correlation and Covariance Monitoring questions
Use this order for any question on covariance or correlation updating.
- 1Identify the model: EWMA or GARCH(1,1), and read off λ or ω, α, β.
- 2List yesterday's estimates: variance of each asset, and the covariance or correlation.
- 3If given correlation, convert to covariance: cov = ρ × σx × σy.
- 4Find the latest returns x and y and compute the product x × y for the covariance and x², y² for the variances.
- 5Apply the update formula for each variance and for the covariance, using the same parameters.
- 6Convert back: take square roots of variances, then ρ = cov ÷ (σx × σy).
- 7Sanity check: |ρ| must not exceed 1, variances must be positive, and for consistency questions look for different λ values across elements.
Quickest way: Update in covariance form, then convert once
When to use it: Any numeric EWMA or GARCH update question when the given inputs are volatilities and a correlation.
- Write yesterday's cov = ρ × σx × σy and variances σx², σy².
- Compute the three updates: λ × old + (1 − λ) × new product.
- Use a calculator memory for 1 − λ.
- Take ρ = cov ÷ √(var_x × var_y).
- Check that ρ lies in [−1, 1]; if not, you made an arithmetic slip.
Common mistakes in Correlation and Covariance Monitoring
Updating correlation directly with the EWMA formula.
The formula looks similar for any quantity.
Fix: Update variances and covariance, then derive correlation. Direct updating does not follow the model.
Using the wrong day's returns.
Index confusion between n and n−1.
Fix: The update for day n uses the return observed on day n−1 and the estimate for day n−1.
Forgetting to take square roots before dividing for correlation.
Variances are what you updated, so they are what you have.
Fix: Use ρ = cov ÷ √(var_x × var_y). Check the result is within ±1.
Mixing percentage and decimal units.
Volatility is given in percent, returns in decimals.
Fix: Convert everything to one unit first. Covariance has units of the product.
Using different λ values for different matrix elements.
Candidates assume fitting each pair separately is better.
Fix: Use one λ for the whole matrix. Different values can break positive semidefiniteness and give negative portfolio variance.
Treating GARCH long-run covariance as ω.
Confusing the constant with the long-run level.
Fix: Long-run value = ω ÷ (1 − α − β).
Worked examples
Example 1
Using EWMA with λ = 0.95, yesterday's daily volatilities of assets X and Y were 1.0% and 2.0%, and their correlation was 0.50. Yesterday's returns were X = 1.5% and Y = 3.0%. Find today's updated correlation.
Show the solution
- Work in percent units. Old variances: 1.0² = 1.0 and 2.0² = 4.0.
- Old covariance = 0.50 × 1.0 × 2.0 = 1.0.
- New variance X = 0.95 × 1.0 + 0.05 × 1.5² = 0.95 + 0.05 × 2.25 = 0.95 + 0.1125 = 1.0625.
- New variance Y = 0.95 × 4.0 + 0.05 × 3.0² = 3.80 + 0.45 = 4.25.
- New covariance = 0.95 × 1.0 + 0.05 × (1.5 × 3.0) = 0.95 + 0.05 × 4.5 = 0.95 + 0.225 = 1.175.
- Volatilities: √1.0625 = 1.0308 and √4.25 = 2.0616. Product = 2.125.
- Correlation = 1.175 ÷ 2.125 = 0.5529.
Answer: Updated correlation ≈ 0.553
Example 2
A GARCH(1,1) covariance model has ω = 0.0000012, α = 0.04 and β = 0.92. Yesterday's covariance was 0.00006. Yesterday's returns were +2% for X and −1% for Y. Find today's covariance and the long-run covariance.
Show the solution
- Product of returns = 0.02 × (−0.01) = −0.0002.
- α × product = 0.04 × (−0.0002) = −0.000008.
- β × old covariance = 0.92 × 0.00006 = 0.0000552.
- New covariance = 0.0000012 − 0.000008 + 0.0000552 = 0.0000484.
- Long-run covariance = 0.0000012 ÷ (1 − 0.04 − 0.92) = 0.0000012 ÷ 0.04 = 0.00003.
Answer: Today's covariance = 0.0000484; long-run covariance = 0.00003
Exam tips
- Questions are usually numeric: write the three updates clearly and keep four decimals until the end.
- Watch for consistency questions: the right answer usually says to use the same λ or same parameters for every element so the matrix stays positive semidefinite.
- Check whether volatilities are given as percent or decimals before you square them.
- Remember EWMA is GARCH with ω = 0 and α + β = 1, so it has no mean reversion to a long-run level.
- A correlation outside ±1 means an error. Use it as a quick check.
Practice questions from Measuring and Monitoring Volatility
- A risk analyst fits a GARCH(1,1) model, sigma^2_t = omega + alpha*r^2_(t-1) + beta*sigma^2_(t-1), to daily returns using maximum likelihood …
- When estimating GARCH parameters by maximum likelihood under normality, which statement is correct?
- An asset has a daily return volatility of 1.5%. Assuming independent, identically distributed daily returns and 252 trading days per year, w…
- Which statement about GARCH(1,1) parameters is correct?
- A GARCH(1,1) model has omega = 0.000004, alpha = 0.10 and beta = 0.85. Yesterday's daily return was -2.0% and yesterday's conditional varian…
Correlation and Covariance Monitoring in other exams
The same ground in other exams, if you are preparing for more than one or want another angle on it.
Correlation and Covariance Monitoring: frequently asked questions
How do I update correlation using EWMA?
Update both variances and the covariance with the same λ. Then divide the new covariance by the product of the two new volatilities. You do not apply the EWMA formula to correlation itself.
What does positive semidefinite mean for a covariance matrix?
It means wᵀΣw is never negative for any weights, so no portfolio has negative variance. All eigenvalues are zero or positive. A matrix built with one consistent method usually satisfies this.
How is GARCH covariance different from EWMA covariance?
GARCH adds a constant ω, so estimates are pulled toward a long-run covariance. EWMA has no such term and no mean reversion. EWMA is the special case with ω = 0 and α + β = 1.
Do I need to know typical λ values?
Know that RiskMetrics used λ = 0.94 for daily data. Questions normally give λ, so you rarely need to recall it.