Why stock beta is not equal to its index weight?

Index is a linear combination of stock prices with known weights. In case index is equally weighted, the weights are fixed. Beta measures stock sensitivity to index - by how much stock moves when index moves by 1%. So we regress one component of that linear combination onto the linear combination itself. Shouldn`t the corresponding regression coefficient be equal to the stock weight in the index ?

My own explanation why this might not be the case:

1. When regressing single stock on index we do not take into account for confounding effects - correlation of this single stock with other stocks. Hence, if we orthogonalize a single stock returns to all other stock returns and then run regression of residuals on index returns than beta should be equal to index weight ?
2. Index is weighted based on prices while beta is calculated on returns. So if we create a returns based index with equal weights and perform orthogonalization as in 1) then beta should be equal to index weight then ?
• You seem to assume that the only reason stocks move up and down is because of market-wide movements. At a mimimum there are 2 components to stock i's move on one day: a marketwide effect and an idiosyncratic effect peculiar to stock i (there could be other components, such as industry or sector componenents). The marketwide movement is typically only 50 or 60% of the explanation for stock i's movement. Commented Nov 22, 2023 at 17:49
• So you are saying that the reason why beta is not equal to index weight exactly is because of omitted variable bias which is caused by idiosyncratic stock effects ? So if we do the reverse and regress the index on stock (instead of stock on index) then that coefficient should be equal to index weight, right ? Commented Nov 22, 2023 at 18:10
• If you write an linear equation with the S&P returns on the LHS and the returns of the 500 S&P stocks on the right hand side, it will have 500 undetermined coefficients . If you estimate these coefficient by OLS then in principle you would recover the weights, but it will be a very sloppy process (large standard deviations around each coefficient estimate) even with 1000's of data points and I am not sure any software can do OLS with 500 variables. Commented Nov 22, 2023 at 20:12
• this makes sense, thank you! Commented Nov 22, 2023 at 21:06

It's trivial to calculate the betas given the index weights $$w$$ and the covariance matrix of all stocks $$\Sigma$$:

The index return is

$$r_{\rm index} = w^T r$$

The beta of stocks to the index is

$$\beta = \frac{{\rm cov}(r, r_{\rm index})}{{\rm var}(r_{\rm index})}$$

with

$${\rm cov}(r, r_{\rm index}) = {\rm cov}(r, w^T r) = \Sigma w$$

and

$${\rm var}(r_{\rm index}) = {\rm cov}(w^T r, w^T r) = w^T \Sigma w$$

so you have

$$\beta = \frac{\Sigma w}{w^T \Sigma w}$$

So if the covariance matrix is a scalar multiple of the identity (i.e. all stocks uncorrelated and with the same variance) then the beta will be proportional (not equal) to the index weight. But otherwise it will be different.

• I suppose the $T$ in $w^T$ in the variance formula is the tranpose but what is then the $t$ in $w^t$ in the same formula? Commented Nov 23, 2023 at 13:33
• it's just a typo Commented Nov 24, 2023 at 14:38
• Thx. This still looks confusing (at least to me) without the associated indices. What do, for example, $\Sigma w$'s in the formulas exactly indicate? For example, I assume either the $\Sigma w$'s in the $\beta$ formula are not scalars or at least they are not the same scalars because then they would cancel each other. Commented Nov 29, 2023 at 15:19
• $\Sigma w$ is the covariance matrix $\Sigma$ multiplied by the vector of weights $w$, i.e. $\sum_{j=1}^n \Sigma_{ij}w_j$ Commented Nov 29, 2023 at 19:37