I want to create an stock index that use the turnover, and not the price. How to do that?

The problem I am trying to solve, is that if one stock has a very low trading volume, but the stock price is extremely high, the stock will still contribute much to the stock index. Ordinary index only looks at the stock price, not the volume.

For my purposes I have non liquid stocks, sometimes there will be no trades for 1-2 days. Other stocks are very liquid. Therefore I need the turnover (total amount of money) the stock was traded for, during a time period. This means, if the trading volume is very low, but stock price is high, this stock will not contribute much to my index, which is based on turnover. This is what I want.

How to create such a turnover based index? Any ideas?

(Normally, if you create a SP500 index, you add all market caps, of all companies. Then you normalize, which gives you the weight of each company in the index. Now you multiply the current stock price with the weight. This gives you a total sum, which is the basis for your SP500 index. So, you basically multiply each weight with the current stock price. So you can update the SP500 index in real time, as the stock prices change).

So I was thinking along these lines.

  1. During last 30 days, calculate each company stock turnover. Basically you add the dollar value of all individual trades, during 30 days. This is a moving 30 day window.

  2. You can now calculate each company weight, by normalizing with the total dollar value for all companies. Therefore, the weight reflects the turnover.

  3. Now, for the last 5 minutes, you calculate the turnover for each company. This 5 minute window turnover is multiplied with the weight.

  4. Adding all these products, gives you a total sum, which is the basis for this turnover based index.


Q1: Is this design reasonable? How would you have designed such an index for non liquid stocks?

Q2: In step 3), I arbitrarily chose 5 minute window. What is a better choice for the window?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.