Where can I get the EXACT number of free-float shares and not approximate?

The NSE website provides the Free-Float market cap here: https://www.nseindia.com/market-data/pre-open-market-cm-and-emerge-market

But I’d like to get the EXACT number of shares rather than get an approximate.

NOTE: I know that you can get the number of shares by dividing the free float market cap by the last traded value but this number is approximate, which I’m not keen on.

I require the exact number for each of the NIfty 50 companies! Would love to get any source of this thanks! :slight_smile:

Okay, I figured it out!

The EXACT free-float market cap data is available in the “Download (.csv)” option on the NSE pre-market page: https://www.nseindia.com/market-data/pre-open-market-cm-and-emerge-market

Here is a sample code to calculate the EXACT NIfty 50 index real time.

import pandas as pd

nifty = pd.read_csv(
    "./MW-Pre-Open-Market-15-Dec-2021.csv",
    usecols=["SYMBOL \n", "PREV. CLOSE \n", "FINAL PRICE \n", "FFM CAP "],
    header=0,
    thousands=r",",
)
nifty.columns = ["symbol", "prev_close", "final_price", "prev_free_float_marketcap"]
nifty["free_float_shares"] = nifty["prev_free_float_marketcap"] / nifty["prev_close"]
nifty["free_float_marketcap"] = nifty["free_float_shares"] * nifty["final_price"]

prev_cap = nifty["prev_free_float_marketcap"].sum()
today_cap = nifty["free_float_marketcap"].sum()

prev_close = 17324.90
index = (today_cap / prev_cap) * 17324.90

print(index)

is this not what iNAV gives out, the real value of nifty 50(iNAV is on a real time basis and I use it as a benchmark before buying Nifty 50 ETF) . This data is available at SBI Nifty 50 ETF webpage.

Click on the attachment and go to Unit creation tab and you will see the iNAV

1 Like