Choosing Weights for a 15-Stock S&P 500 Tracker
Summary
The document discusses how to weight a small set of stocks to track the S&P 500. One approach is to estimate weights from historical returns, seeking strong correlation with the index or low tracking error. Regression, principal component methods, and constrained quadratic optimization are suggested, with the choice of constraints affecting whether short positions are allowed.
A simpler shortcut is to renormalize the selected stocks’ market capitalization weights so they sum to one. The answers caution that this can produce biased exposure unless the stocks represent the index’s sector and size mix. Alternatives include optimizing against a factor model or using stratified sampling: divide the index into representative style or risk groups, then weight sampled stocks to match those groups. The material is conceptual and supplies no data, formal constraints, or out-of-sample results, so practical weights depend on stock selection and the chosen tracking objective.
Key ideas
- Tracking weights can be estimated from historical stock and index returns.
- Optimization can minimize tracking error, while correlation is another possible objective.
- Renormalized market capitalization weights may be biased if the selected stocks do not represent the index mix.
- Stratified sampling seeks to match index exposures across chosen style or risk groups.
Tags
Full text
# Suppose i want to track S&P500 index using 15 stocks, how do i adjust their weights? # Suppose i want to track S&P500 index using 15 stocks, how do i adjust their weights? I am given 15 stocks (which is listed in NYSE), and want to track/replicate the S&P500 index. So i am currently have the information about the stock price, and given some capital to invest in (all must be in stocks), how do i determine the weights? I know that these 15 weights must equal to one, but if i take directly from current market, it won't be 1 (because there is 500 stocks in S&P, while i only have 15). Do i re-adjust, and if yes, how? ## Answer by nbbo2 (score 3) https://quant.stackexchange.com/a/30381 Hint: you are looking for weights w1,w2,⋯,w15 such that the linear combination of the 15 stocks daily returns is maximally correlated with the S&P500 index returns published by S&P. There are method(s) in statistics that can find these weights. Some of these techniques restrict the weights to be positive and some do not. There is plenty of historical return data available. As a shortcut (if you don't know how to do regressions, PCA, minimizing a quadratic subject to constraints, etc.) you could indeed re-normalize the market cap weights so they add up to 1 (divide each marketcap by the sum of the marketcaps of the 15 stocks), but this is not recommended because it assumes that the 15 stocks have been chosen to be representative of the mix of stocks in the S&P (the right number of tech stocks, oil stocks, big companies, small companies, etc). which in general will not be true. So the resulting weights will be biased. Do this only if the 15 stocks have been carefully chosen for diversification and balance. Finally, in 1987 Wm. Sharpe published "An Algorithm for Portfolio Improvement,". This algorithm could be used, starting with an equal weighted mix of the 15 stocks, to modify the weights until the portfolio tracks the S&P 500 as well as possible (in the sense of minimizing the mean-square of the tracking error). I think this could be the best solution. ## Answer by Alexander Didenko (score 2) https://quant.stackexchange.com/a/30384 Maginn et al. (2007) suggest one of two approaches: optimization and stratified sampling. - Optimization. First, you select some factor model which (you believe) best captures major risk factors in your universe. Then you select portfolio of 15 stocks so that this resulting portfolio would minimize expected tracking risk of original portfolio (S&P500 in our case). That's quite standard task performed by, say, built-in Bloomberg portfolio optimizer. - Stratified sampling. You apply "Morningstar style box", or similar multidimensional structure to S&P500. Again, to do it you have to select factors (i.e. dimensions) which you believe to best describe your universe (i.e. S&P500). Then you'll have weights for each cell: for example, 10% of original index cap would be small-cap value stocks; 20% mid-cap value etc.etc. Then you select, say, 2 representative stocks in each cell (for total 18 stocks) and balance its weights so that style box for these 18-stock index would be similar to the one of S&P500. ## Answer by arodrisa (score -1) https://quant.stackexchange.com/a/30383 Well, at first, if you find the way to track it perfectly, let me know, we start a fund, and then we talk about percentages.... You are talking about something called "smart beta". You want to replicate an index using the minimum number of stocks with the greatest correlation, and R^2. I did an approach when I was studying, it was simple, just using excel and solver. For a certain date, you multiply the returns of each stock to a weight (w1,w2..). Then, you add all the resulting multiplications into a cell. Finally, using solver, make that cell to be 1 (with a minimum error). And there you go!
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.