Fan, Furger & Xiu (2016) sort S&P 500 residuals by GICS, keep industry blocks, add Fama–French and sector ETFs on high-frequency data, then allocate. Plain-language intro. Not investment advice.
Takeaway. After a factor model, residual covariances of S&P 500 names, sorted by GICS, look block-diagonal: same-sector leftovers co-move, off-blocks are near zero. Fan–Furger–Xiu keep those industry blocks (location thresholding), add Fama–French and sector SPDRs as high-frequency factors, and get a simple, positive-definite large covariance for out-of-sample allocation.
Incorporating Global Industrial Classification Standard into Portfolio Allocation: A Simple Factor-Based Large Covariance Matrix Estimator with High-Frequency Data (Jianqing Fan, Alex Furger, Dacheng Xiu, 2016, JBES).
Fit for learners: GICS blocks + high-frequency factors give a positive-definite large covariance you can invert for allocation.
This Hub note is a plain-language intro. Not investment advice.
Daily sample cov on 500 names is huge and noisy. A Fama–French factor model without residual structure still leaves industry clumps. Naive thresholding can destroy positive-definiteness. High-frequency data add information per day but need a model that stays well-conditioned as N grows.
Industry labels are economic regularisation, not a clustering hobby.
You can group a list of tickers by sector before you touch POET. A block-diagonal toy matrix is a nested-list exercise: invert a 2-block matrix vs a dense one, watch the condition number.
Tiny evening exercise: build a 6×6 cov with two 3×3 blocks of 0.6 off-diagonals and zeros across blocks; print inverse vs the same matrix with 0.05 filled in the off-blocks. Learning only.
Landing: DOI
Not investment advice. This Hub note is educational only. Fan–Furger–Xiu is academic covariance research—not a recommendation to allocate the S&P 500 with GICS blocks.
Single course CTA: SoloQuant Academy’s Introduction to Python Programming—grouping tickers into sector lists is dicts and loops.