Data Sources & Methodology

Every number on Company Stock Price comes from a public exchange file or a named data provider, and every derived figure is calculated with the rules below. This page is written from the code that runs the site, so it describes what we actually do.

Last reviewed:

Where the data comes from

DataSourceUpdate frequency
End-of-day prices, volume, delivery %NSE full bhavcopy (sec_bhavdata_full) and BSE UDiFF equity bhavcopyImported after each trading day; the latest session is shown until the next file is published
Intraday quotes, charts and index levelsYahoo FinanceDuring market hours; delayed by up to 15 minutes
Market cap, valuation ratios, financial statementsYahoo Finance (quote summary and fundamentals time series)Rolling refresh, a batch of companies per run; each company’s figures may be days to a few weeks old
Shareholding pattern and promoter pledgeNSE shareholding pattern and pledge disclosures (company filings)Rolling refresh; the underlying filings are quarterly
Company list (symbols, ISIN, listing date, face value)NSE equity list, NSE Emerge (SME) list, BSE active scrip listRefreshed periodically to add new listings and remove delisted companies
IPOs (current, upcoming, past, subscription)NSE IPO dataRefreshed periodically during the issue calendar
Mutual fund NAVsAMFI (Association of Mutual Funds in India)Daily, as published by AMFI after fund houses declare NAVs
FII/FPI and DII cash-market activityNSE provisional FII/DII dataDaily, after NSE publishes it
News headlinesThird-party headline feed (Finnhub), linking to the original publisherContinuously; we do not write or edit these stories

We are an information site, not a stock exchange, broker or SEBI-registered investment adviser. For trading decisions, confirm prices with your broker or the exchange.

End-of-day prices, volume and delivery

After each trading day we download NSE’s full bhavcopy (sec_bhavdata_full) and BSE’s UDiFF equity bhavcopy. From NSE we keep the equity and SME series (EQ, BE, BZ, SM, ST, SZ), preferring EQ when a symbol appears in more than one. NSE rows are used for NSE-listed companies; the BSE file is used for companies that trade only on BSE.

Each stored row holds the open, high, low, close, previous close and traded volume. Delivery percentage comes from the NSE file only; BSE’s bhavcopy does not include it, so BSE-only companies have no delivery figure. If an exchange file is not yet published (or the day was a holiday) that date is skipped and retried on the next run. About 400 days of daily history are kept per company.

These closing prices drive the top gainers and losers, 52-week highs and lows, circuit lists, market breadth, sector performance and the screener’s price, return and volume columns.

Intraday quotes and index levels

Live-looking prices on stock pages, the intraday chart, and Nifty, Sensex and other index levels come from Yahoo Finance and may be delayed by up to 15 minutes. Outside market hours they show the last traded price. Because intraday and end-of-day data come from different sources, a stock page can briefly show a slightly different price from the screener until the day’s bhavcopy is imported.

Valuation ratios and financial statements

Market capitalisation, P/E (trailing), P/B, EPS, book value, dividend yield, beta, ROE, debt-to-equity, net profit margin, operating margin and current ratio are taken as reported by Yahoo Finance’s quote summary. Annual income statement, balance sheet and cash-flow figures, and quarterly revenue, operating income, net income and EPS, come from Yahoo Finance’s fundamentals time series and are stored by period so history builds up over time.

These are refreshed on a rolling schedule: each run updates a batch of companies, starting with never-updated constituents of the major NSE and BSE indices (Nifty 50, Sensex, Nifty Midcap 100, Nifty Smallcap 100, BSE 100 and key sectoral indices), then other new companies, then those with the oldest data. Market capitalisation is refreshed on the same rotation — it is not recalculated from each day’s closing price — so it can lag a large price move.

Shareholding and pledge

Promoter and public holding come from the quarterly shareholding pattern filings that NSE-listed companies submit to the exchange; we keep the last eight quarters. Promoter pledge comes from NSE’s pledge disclosures and is shown as pledged shares as a percentage of the promoters’ total holding. Companies are refreshed on a rolling schedule, index constituents first. BSE-only companies are not covered.

Change in promoter holding is the latest quarter’s promoter holding minus the previous quarter’s, in percentage points (e.g. 52.10% → 52.60% is +0.50).

Company list, IPOs, mutual funds and news

  • Company master list: NSE’s equity list (main board), NSE’s SME (Emerge) list and BSE’s list of active equity scrips, which give us the symbol, ISIN, BSE code, listing date and face value.
  • IPOs: NSE’s current, upcoming and past issue data, including category-wise subscription for open issues. See the IPO tracker. Any grey market premium shown is unofficial and indicative only.
  • Mutual fund NAVs: AMFI’s daily NAV file and scheme NAV history.
  • News: headlines from a third-party feed (Finnhub). We link to and credit the original publisher and do not edit the stories.

How calculated figures are computed

Returns (1W, 1M, 3M, 6M, 1Y)

Simple price return: (latest close ÷ reference close − 1) × 100. The reference close is the last close on or before 7, 30, 91, 182 or 365 calendar days before the latest trading date. If there is no close within 7 days before that target date (for example a new listing or a suspension), the return is left blank. Returns exclude dividends.

52-week high and low

The highest daily high and lowest daily low (falling back to the close when a high or low is missing) over the 365 calendar days up to and including the latest session.

20-day average volume and volume ratio

The 20-day average volume is the mean volume of the company’s last 20 stored sessions, including the latest one. Volume ratio is the latest session’s volume divided by that average. Volume shockers need a ratio of at least 3 and at least 50,000 shares traded. Traded value in lists is approximated as closing price × volume.

3-year sales and profit CAGR

Latest annual revenue (or net profit) compared with the annual figure closest to 36 months earlier, accepting a period that ended 33–39 months before: ((latest ÷ base)^(12 ÷ months) − 1) × 100, using the exact number of months between the two period ends. Left blank if either value is zero or negative, because CAGR is not meaningful then.

Quarterly YoY growth

Latest quarter’s revenue (or net profit) versus the quarter that ended 11–13 months earlier (closest to 12): (latest − base) ÷ base × 100. Left blank when the year-ago figure is zero or negative.

ROCE

EBIT ÷ (shareholders’ equity + total debt) × 100 from the latest annual statements, using reported operating income as EBIT. Debt is treated as zero if it is not reported; ROCE is left blank if capital employed is zero or negative. Other sources may define capital employed as total assets minus current liabilities, so figures can differ. See ROCE.

Only buyers and only sellers (upper and lower circuit)

Exchanges publish each stock’s price band but not in the bhavcopy, so we infer circuit hits from the closing data. A stock is listed under only buyers when it closed at (within 0.05% of) its day high and its change is within 0.15 percentage points of +2%, +5%, +10% or +20%. Only sellers is the mirror image: a close at the day low with a change within 0.15 points of −2%, −5%, −10% or −20%. Stocks without a fixed band (such as F&O stocks) can occasionally match by coincidence.

Top gainers and losers

Ranked by percentage change in the latest session among companies that traded that day, excluding companies with a known market capitalisation below ₹500 crore to keep tiny, illiquid stocks out of the headline lists. The same filter applies to the homepage 52-week high/low and volume shocker lists.

Sector performance

Market-cap-weighted average change: Σ(change % × market cap) ÷ Σ(market cap) across companies in the sector (or industry, when no sector is recorded) that have a price for the latest session. Sectors with fewer than two companies are not shown. Large companies therefore move a sector’s figure far more than small ones.

Market breadth

The number of companies whose latest close was above (advances), below (declines) or equal to (unchanged) their previous close, counted across all active NSE and BSE-only companies with a price for the latest session.

Large, mid and small cap screens

Our screener uses fixed thresholds on market capitalisation: large cap above ₹50,000 crore, mid cap ₹5,000–50,000 crore and small cap ₹500–5,000 crore. This is simpler than SEBI’s rank-based definition (see large cap), so the lists will not exactly match AMFI’s classification.

Known limitations

  • Delays: intraday prices can be up to 15 minutes old; end-of-day data appears only after the exchanges publish their files; fundamentals and shareholding are refreshed on a rotation and may lag new results or filings.
  • Corporate actions are not adjusted: stored price history is not adjusted for splits, bonuses or dividends. After such an event, returns, 52-week high/low and average volume for that company can be distorted until the affected dates roll out of the window.
  • Data gaps: providers do not cover every company, especially SME and BSE-only stocks. Missing values are shown blank rather than estimated, and screens skip companies without the required data.
  • Provider definitions: ratios taken from Yahoo Finance follow its definitions (for example trailing twelve-month P/E and EBIT-based operating margin), which can differ from company reports or other websites.
  • Inferred lists: circuit lists are inferred from closing data, not from the live order book or exchange price-band files.
  • Consolidated vs standalone: statement figures are as provided by Yahoo Finance and may not always match the basis (consolidated or standalone) a company highlights.

Found an error? Email contact@companystockprice.com with the company, the page and the figure — see Contact and our editorial policy for how corrections are handled.