Quant Memo
Core

Heteroskedasticity

When error variance is not constant, why it leaves OLS unbiased but wrecks its standard errors, the White/robust sandwich covariance that fixes inference, and the tests that detect it.

Prerequisites: Ordinary Least Squares (OLS), The Gauss–Markov Theorem

Heteroskedasticity, error variance that changes across observations, is the normal state of financial data, not the exception. The Gauss–Markov assumption of spherical errors requires Var(εi)=σ2\operatorname{Var}(\varepsilon_i) = \sigma^2 for every ii; markets flatly refuse. Volatility clusters, larger firms have noisier returns, and cross-sectional regressions mix calm and turbulent observations. The crucial thing to understand is what breaks and what doesn't: your coefficients are fine, your standard errors are lies, and the fix is a one-line change to the covariance estimator.

The problem, precisely

Keep the linear model y=Xβ+εy = X\beta + \varepsilon with strict exogeneity E[εX]=0\mathbb{E}[\varepsilon\mid X] = 0, but let the conditional variance vary:

Var(εX)=Ω=diag(σ12,,σn2),σi2σj2.\operatorname{Var}(\varepsilon \mid X) = \Omega = \operatorname{diag}(\sigma_1^2, \dots, \sigma_n^2), \qquad \sigma_i^2 \ne \sigma_j^2.

The errors are still uncorrelated (off-diagonals zero) but no longer identically scaled. Because strict exogeneity survives, the unbiasedness proof is untouched:

β^=β+(XX)1Xε,E[β^X]=β.\hat\beta = \beta + (X^\top X)^{-1}X^\top\varepsilon, \qquad \mathbb{E}[\hat\beta\mid X] = \beta.

So OLS remains unbiased and consistent, this is the single most important fact and the most common thing candidates get wrong. What fails is efficiency (OLS is no longer BLUE; see The Gauss–Markov Theorem) and, more damagingly, the variance formula.

Why the standard errors are wrong

The textbook OLS covariance σ2(XX)1\sigma^2(X^\top X)^{-1} was derived assuming Var(ε)=σ2I\operatorname{Var}(\varepsilon) = \sigma^2 I. With general Ω\Omega, the correct sandwich is

Var(β^X)=(XX)1(XΩX)(XX)1.\operatorname{Var}(\hat\beta\mid X) = (X^\top X)^{-1}\,\big(X^\top \Omega X\big)\,(X^\top X)^{-1}.

The naive formula replaces XΩXX^\top\Omega X with σ2XX\sigma^2 X^\top X, which is simply wrong when Ωσ2I\Omega \ne \sigma^2 I. The reported standard errors can be too small or too large, often too small when high-variance observations coincide with extreme regressor values, so tt-statistics are inflated and you declare significance that isn't there. Every hypothesis test and confidence interval built on the naive formula is invalid.

The White / robust fix

Halbert White's insight (1980): you do not need to know Ω\Omega to estimate the sandwich consistently. You cannot estimate nn separate σi2\sigma_i^2 from nn points, but you can estimate the k×kk\times k matrix XΩXX^\top\Omega X by plugging in squared residuals:

XΩX^=i=1nε^i2xixi,\widehat{X^\top\Omega X} = \sum_{i=1}^n \hat\varepsilon_i^2\, x_i x_i^\top,

giving the heteroskedasticity-consistent (HC0) covariance

Var^(β^)=(XX)1(iε^i2xixi)(XX)1.\widehat{\operatorname{Var}}(\hat\beta) = (X^\top X)^{-1}\Big(\sum_i \hat\varepsilon_i^2\, x_i x_i^\top\Big)(X^\top X)^{-1}.

These are White standard errors (robust, HC standard errors). Finite-sample refinements HC1–HC3 rescale ε^i2\hat\varepsilon_i^2 (e.g. HC3 divides by (1hii)2(1-h_{ii})^2 using the hat-matrix leverage) and are preferred in small samples. The practical rule on a desk: use robust standard errors by default, they are correct under homoskedasticity too (they just cost a little efficiency), so there is little reason not to.

Detecting it

  • Breusch–Pagan test, regress squared residuals ε^i2\hat\varepsilon_i^2 on the regressors (or their determinants of variance); a significant fit means variance depends on XX. It is a score/LM test: nR2χp2nR^2 \sim \chi^2_p under homoskedasticity.
  • White test, the same idea but including squares and cross-products of regressors, catching general (nonlinear) heteroskedasticity at the cost of many degrees of freedom.
  • Eyeball, plot residuals against fitted values or against time; a fanning "megaphone" shape or visible volatility clustering is heteroskedasticity you can see.

Worked example: pooled cross-sectional return regression

Regress monthly stock returns on a value signal across all stocks and months, ri,t=α+βvaluei,t+εi,tr_{i,t} = \alpha + \beta\,\text{value}_{i,t} + \varepsilon_{i,t}. Residual variance is far larger in crisis months (Oct 2008) than calm ones, and larger for small caps than mega caps, textbook heteroskedasticity. The OLS slope β^\hat\beta (the value premium estimate) is still unbiased. But the naive tt-stat might read 3.5 and the White tt-stat only 2.0: the naive standard error understated uncertainty because the high-variance crisis observations also had extreme value spreads. Reporting the naive tt would overstate how sure you are the value premium exists. (In panels you would go further and cluster by month and/or firm.)

Failure modes in financial data

  • Volatility clustering is heteroskedasticity in time series form; modeling it explicitly (rather than just robustifying standard errors) is the entire subject of GARCH Volatility Models.
  • Robust SEs don't restore efficiency. White fixes inference but leaves OLS inefficient. If the variance structure is known or modelable, weighted/generalized least squares recovers the lost efficiency and is BLUE.
  • Heteroskedasticity plus autocorrelation. Financial errors usually have both. White handles only the variance; you need the HAC (Newey–West) estimator to also handle serial correlation. See Autocorrelation and Serial Correlation.
  • Leverage points. A few high-leverage observations dominate ε^i2xixi\sum \hat\varepsilon_i^2 x_i x_i^\top; HC3 guards against this, plain HC0 does not.

In interviews

The clean two-part answer: heteroskedasticity leaves OLS unbiased and consistent but not efficient, and, the part that actually matters, makes the standard errors wrong, so all tt-tests and confidence intervals are invalid until fixed. Be able to write the sandwich covariance (XX)1(XΩX)(XX)1(X^\top X)^{-1}(X^\top\Omega X)(X^\top X)^{-1} and explain that White's trick estimates the middle with ε^i2xixi\sum \hat\varepsilon_i^2 x_i x_i^\top, you cannot estimate every σi2\sigma_i^2 but you can estimate the k×kk\times k sandwich meat. Name a detection test (Breusch–Pagan / White) and know the practical default: always report robust standard errors. A strong closer connects it to GARCH as the time-series counterpart.

Related concepts

Practice in interviews

Further reading

  • White (1980), A Heteroskedasticity-Consistent Covariance Matrix Estimator
  • Greene, Econometric Analysis (Ch. 9)
  • Hayashi, Econometrics (Ch. 2)
ShareTwitterLinkedIn