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?
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.
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.
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!