How mtf.trading is built
Every chart on this site is back-traceable to an official NSE or BSE disclosure file. This page lists each source, what it contributes, and how the numbers are joined.
Data sources
- MTF book
- NSE CM — Margin Trading Disclosure daily Excel + BSE Margin Trading daily Excel (
MarginTrading_*.xls/.csv). One row per stock per day with the broker-funded outstanding, fresh exposure, and exposure liquidated. Available since 22 June 2017. - Stock universe
- NSE
EQUITY_L.csv+ BSE List of Scrips (ListofScripData). Resolves every symbol/scrip-code seen in the MTF files to a canonical name and ISIN. - F&O membership
- NSE F&O
bhavcopy(BhavCopy_NSE_FO_*). Point-in-time per day — an F&O stock added or removed mid-week shows the right membership for each historical bar. - ETF list
- NSE
eq_etfseclist.csv. Used to bucket the per-day MTF book into F&O / non-F&O / ETF. - ISIN / EOD close
- NSE & BSE cash
bhavcopy(BhavCopy_*_CM_*,EQ_ISINCODE_*). Provides the daily EOD close shown alongside per-stock MTF charts and the ISIN used to canonicalise stock identity. - Market cap
- NSE PR price report (
PR<ddmmyy>.zip→mcap*.csv) + BSE List of Scrips. Used for leverage % (book / mcap) and the % of universe view in the screener. - Company logos
- Self-hosted SVGs vendored from the indian-listed-company-logos repo, keyed by ISIN. Stocks without a vendored logo fall back to a coloured initials monogram.
Source archival & provenance. NSE and BSE purge old reports from their own sites over time, so every external source file this site depends on — the daily MTF reports, bhavcopies, index/ETF lists, and the broker/rating documents — is continuously mirrored to the Internet Archive. Broker figures carry a link to the archived copy of their primary source, so each number stays independently verifiable even if the original is taken down.
Aggregation rules
- Fill-forward — NSE and BSE publish on slightly different schedules. The combined daily total fills each exchange forward with its last known value so a one-sided publication day doesn't fake-collapse the headline number.
- ISIN identity — stocks are matched by ISIN across NSE and BSE. A renamed symbol or a truncated BSE company name still resolves to the same security; dual-listed stocks (HDFCBANK, INFY, etc.) collapse into one row in the screener.
- Active securities — a stock counts as "active" if it has at least one non-zero MTF row in the trailing 14 days. The screener and concentration strips both use this filter.
- Concentration share — "top N share" is computed against the active-market total at the same date as the per-stock snapshot, not against an all-time aggregate. So a stock that exited the active universe doesn't inflate yesterday's top-10 share.
Free float & ownership
Two free-float figures appear on the site, computed differently on purpose:
- Current free-float market cap (the “MTF vs Free-Float Market Cap” panel) uses BSE's own free-float factor,
MktCapFF / MktCapFull, per stock — the exchange's IWF-banded figure, applied to a fresh total market cap. This is the authoritative current number (~46% of market cap is free-floating). - Historical free float (the “MTF book vs free float” chart) is derived from demat holdings, because no source publishes a back-dated free-float-market-cap series. We sum the monthly equity demat value by investor category from both depositories' BO Aggregate (CDSL + NSDL), and take free float = total − promoter/strategic, using the Corporate / Body-Corporate buckets as the promoter proxy. The result tracks India's documented promoter-holding decline (~49% in 2016 to ~45% now). Its level is anchored to the current BSE
MktCapFFfigure so the chart's latest point matches the panel headline exactly; the demat series supplies the historical shape.
Honest caveats: depository data is by holder type, not promoter status, so the promoter proxy is an approximation (it lands at the known ~45–50%). CDSL's monthly archive is patchy for 2022–mid-2023, so CDSL's small (~14%) share is linearly interpolated between the nearest available months for that stretch (NSDL stays real); those months are flagged in the dataset. Months with an implausible jump are auto-excluded. The full per-category series is on the data page.
Refresh cadence
Data refreshes every Indian trading day after NSE and BSE publish their EOD disclosures — typically by 22:00 IST. The dashboard's "Last updated" stamp in the header reflects the freshest exchange. Holidays and exchange-specific outages mean the two sides can be one trading day out of sync. The demat-holdings free-float series is monthly (depositories publish month-end).