I'm working through the Quantitative Equity Portfolio Management book by Chincarini and Kim.

I'd like to build a basic industry-based fundamental factor model. As this is a pet project for pedagogical purposes, I don't have the money to spend on Barra's GICS classifications. I also understand that other industry classifications (SIC and NAICS) are fairly useless for factor models.

Is there a reasonable open-source or homemade alternative (using, say, k-means clustering or non-negative matrix factorization) to create my own industry factors for US equities?

  • 2
    $\begingroup$ If you can use clustering or PCA to determine your own factors, then you'd have a risk model, which in my opinion is far more useful than any industry classification. $\endgroup$ Commented Apr 22, 2013 at 17:21
  • $\begingroup$ Even if I use PCA to generate an accurate risk model, won't there be times where I want a more easily interpreted model (see this Q&A when doing performance reporting, for example)? $\endgroup$
    – MikeRand
    Commented Apr 23, 2013 at 10:43

1 Answer 1


To build an industry factor model, you would need to calculate exposures to industries. If you had GICS (or similar) data available you could use a bottom up approach and calculate those exposures. 1 if the stock belongs to that industry, 0 if not.

In the absence of such data you would need to infer those values. Here is one that I'd suggest (assuming you are looking at the US equity market)

Sector/Industry ETFs (IShares, State Street) are good proxies for industries. Select a set of ETFs that are liquid and encompass the entire industry breadth of the US stock market. Conduct multiple regressions of stock returns on the selected ETF returns over a sufficiently long historical period. Use the obtained coefficients as industry exposures.

The other parts of a risk model that you'd need are the covariance matrix and residual volatility of the instruments. For the covariance matrix use the etf returns over the same or different historical period as the multiple regression above and calculate their covariance. For the residual volatility - use the residuals of the multiple regression above and calculate their standard deviation. You may want to apply some exponential weighting in both the cases.


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.