I want to calculate the NSE Nifty 50 index on my own. It is a free floating index. The method I am following is

  1. I have a base value of index ie ( for all stocks, sum of [price_of_stock * floating_shares_of_stock]) for all the constituents at the time of introduction of index, which represents 1000 index value. Let's call it base price value. This value as per my calculations is approximately Rs 444555077 ie. 11114321495493 / 25001
  2. Now, calculate current_val which is (for all stocks, sum of [price_of_stock * floating_shares_of_stock]).
  3. Current Index = current_val/444555077.

But sometimes index that I calculate by above methodology differs from what exchange publishes on either Yahoo or Google finance.

Also I want to know if floating shares for the stocks could change on a daily basis and if it would change how the index value is affected.


Free-float shares can and do change regularly.

However, most index providers do not change their weighting immediately. Such changes are typically made at index rebalancing time and only if a % change threshold has been reached.

The Nifty 50 methodology here: https://www1.nseindia.com/content/indices/Method_Nifty_50.pdf states that there is a 5% threshold for changes to be made. If that threshold is not exceeded, the change is at the next quarterly time (quarterly for the Nifty 50, with a 5 working day notice period). If over 5%, then such a change is made with 5 working days notice.

The exact values used in calculating the index (free float, shares on issue, investible weight factors etc.) are not usually publicly available but can be obtained, under licence, from the Index creator. These products are aimed at institutional traders, not retail traders, so expect a high cost to obtain such data. http://www.niftyindices.com/offerings/data-subscription

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.