I have been asked to perform a factor analysis on a given portfolio, assume it's a Swiss portfolio in CHF.

First step, I chose which factors I would like to see in my analysis.

The first factors I would add are components of the portfolio (and used the hedged performance)

  • Performance of a global equity index
  • Performance of a global fixed income index
  • Performance of gold
  • Performance of a commodity index

Then I would like to have the forex factors so I add

  • EURCHF performance
  • USDCHF performance

Finally, I would like to have some macro-economics indicators:

  • Change in GDP of Switzerland
  • Inflation Rate
  • Unemployment rate.

For example.

Si I gave a large bunch of factors, my first question is, some time series have larger values in magnitude than others and I was wondering whether I should normalize them before going further?

Do you think it makes sense to split "pure" stock performance and forex components?

Second Step

I will eventually be looking to do the following:

$$Y_t = \alpha + \sum_{i=1}^k \beta_i {F_i}_t + \varepsilon_t$$

where $F_i, \quad 0<i \leq k$ is the i-th factor and $y_t$ is the return of the portfolio at time $t$.

The problem is that for this to be meaningful we need the different $F_i$ to be independent.

Is there a general accepted method in our field to use to get a set of independent factors? (I asked the question here but I could not come up with a straight answer).

Third step Once this filter is done we have $l\leq k$ independent factors. I was thinking about running the regression over the remaining $l$ factors, and then look at their p-values to see which ones are significant and hence I want to keep. Is there a better usually used in factor analysis?

  • $\begingroup$ Are you really looking for a generaly accepted method? I don't think this exists for anything related to quant finance. I ask this there are probably people that know reference for this but would not post it as a "generaly accepted method". $\endgroup$
    – Zarbouzou
    Commented May 29, 2012 at 10:25
  • $\begingroup$ I was looking for something not too complicated an commonly use, but I'm of course open to any good procedure... $\endgroup$
    – SRKX
    Commented May 29, 2012 at 11:11
  • $\begingroup$ Are you iteratively subtracting-out the considered factor from your portfolio before computing the impact/beta of the next factor? I assume you're already doing that, which should have given you the linear independence you want. $\endgroup$ Commented May 29, 2012 at 11:14

1 Answer 1


The regression requires orthogonalization of factors. However, we need to maintain the interpretation of factors (so PCA and Factor Analysis are out). Also, we could apply an iterative method (indeed this is very common practice) but this will bias the factor loadings on the sequence of factors.

Best approach is that of Klein and Chow in their paper Orthogonalized Equity Risk Premia and Systematic Risk Decomposition. They use this a methodology from Schweinler and Wigner (1970) in the quantum chemistry wavelet literature which relies on nothing more fancy than an eigenvector decomposition. As they describe:

This distinctive characteristic is essential for a proper decomposition, as we need to treat all the factors on an equal footing. Thus, the orthogonal transformation of all factors has to be conducted jointly and simultaneously. We choose the symmetric form of orthogonalization, which minimizes the overall difference between the original and the orthogonal vectors, thus maximizing the resemblance between the two sets of data.

We apply it to the demeaned original factors, which ensures that the resulting vectors are not only mathematically orthogonal, but also uncorrelated.

They have a nice case-study applying the approach to the original Fama-French paper. I have applied their method to a mix of fundamental and economic factors for return and risk decomposition and confirm that despite the orthogonalization, the pre and post correlation of the variables are high.

Left unstated in your question is how you will identify the economic factor returns. You might be taking the economic factor time-series as is (which essentially does not distinguish between expectations and surprise), or taking the residuals of an economic factor time-series after applying an AR(1) or similar time-series model (common), or you might produce the economic factor returns as an output of a cross-sectional regression. There is a bit of art and science in that step but it's something you want to at least consider.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.