Whitening Correlated Forecasts with a Cholesky Decomposition
Summary
The document explains a forecast transformation from portfolio research: center a vector of raw forecasts by subtracting its mean, then multiply by the inverse transpose of a matrix factorizing the forecasts' covariance. If the covariance matrix is written as a Cholesky factorization, this scaling removes linear correlation and normalizes variation, producing orthogonal forecasts with unit covariance under the stated convention.
The matrix H is therefore interpreted as a Cholesky factor of the covariance matrix of the raw forecasts. In the one-dimensional case, the inverse factor simply divides by the forecast standard deviation. The method depends on the covariance factorization convention and on estimating the covariance reliably; the brief answer offers no empirical comparison, implementation detail, or discussion of alternative whitening methods.
Key ideas
- Center the raw forecasts by subtracting their expected values before transforming them.
- A Cholesky factor of the forecast covariance matrix can serve as H.
- Multiplying by the inverse transpose of H removes covariance and rescales the forecasts.
- In one dimension, the transformation reduces to dividing by the forecast standard deviation.
Tags
Full text
# Transform raw forecasts into orthogonal forecasts
# Transform raw forecasts into orthogonal forecasts
I am trying to combine multiple forecasts on each of N assets in line with Grinold and Kahn's methodology, taken from Active Portfolio Management, 2nd ed. On p.311, they suggest transforming the raw forecasts g into a set of uncorrelated (orthogonal) forecasts y. This is done as follows: \begin{align*} Var\{g\} = H^T\cdot H\\ y \equiv (H^T)^{-1}\cdot[g-E\{g\}] \end{align*} Can someone please explain what the matrix H is and what process is going on here?
## Answer by Stefan Voigt (score 3, accepted)
https://quant.stackexchange.com/a/32307
I do not have access to this book but I suppose the decomposition is the cholesky decomposition (if you use R, simply generate it with
```
chol(cov(g))
```
where g is a matrix with forecasts. What the transformation is doing are essentially two steps: 1. You replace the forecasts g with the normalized forecasts g-E(g). This can be done by demeaning the matrix (R: demean) 2. Your normalize the variaton by 'dividing' with the part of the cholesky decompostion. Recall: In the univariate case the part $(H^T)^{-1}$ would correspond to the standard deviation.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.