NineFifteenAM

Pillar guide · updated monthly

What FII and DII data is and how to read the daily numbers

6 min readBy NineFifteenAM

FII and DII tables show what foreign and domestic institutions bought and sold in the cash market: what each column counts, where NSE publishes it, its limits.

Short answer

FII and DII data is the daily tally of what foreign and domestic institutions bought and sold in the cash market, in rupees crore. Buy value, sell value and net (buy minus sell) are reported for each group. NSE publishes a provisional version the same evening, and custodian-confirmed FPI figures follow from NSDL the next day. It records a session that has already finished.

On 30 September 2026, foreign institutions sold a net ₹10,148.40 crore of Indian shares in the cash market and domestic institutions bought a net ₹11,271.70 crore. Two large numbers pointing opposite ways, and a combined figure of ₹1,123.30 crore that is small next to either one. Read only the first line and you would call it a day of heavy selling. Read both and it was closer to a handover.

That is most of what this data is good for, and most of where it goes wrong. This guide covers what the columns count, where the official versions come from, and the four mistakes I see repeated.

Two labels for the same column

DII means domestic institutional investor: mutual funds, insurance companies, banks and similar bodies, reported as one combined line.

FII means foreign institutional investor, and this is where the naming gets confusing. FII is no longer the legal category. SEBI's Foreign Portfolio Investors Regulations were notified on 7 January 2014 and merged foreign institutional investors, their sub-accounts and qualified foreign investors into a single class called foreign portfolio investors, or FPIs. A fresh set, the SEBI (Foreign Portfolio Investors) Regulations, 2019, was notified on 23 September 2019 and repealed the 2014 version.

The daily tables never caught up. You will see the column headed FII, FPI, or FII/FPI depending on the site, and all three mean the same thing. It is worth knowing because you will meet the terms in the same sentence and might assume they are two separate pools of money.

What neither column includes is just as important: retail traders, high-net-worth individuals and proprietary desks at brokerages. Those participants are a large part of daily turnover and sit outside both lines.

What the daily table counts

Three columns do the work:

Column What it counts
Buy value Total rupee value the group bought that day
Sell value Total rupee value the group sold that day
Net value Buy value minus sell value

Figures are in crore rupees. A positive net means the group bought more than it sold. That is the whole of it. The net says nothing about which shares, at what prices, or whether anyone did well.

The classification comes from the trades themselves. Each trade carries the client's PAN, which is what places it in the FII, DII, proprietary or retail bucket. Nobody is estimating the split.

Gross and net are very different sizes

The net figure is a difference between two much larger numbers, and quoting it alone hides how much trading happened. Here is the shape of it, with illustrative round numbers, not a real session:

Group Buy (₹ crore) Sell (₹ crore) Net (₹ crore)
FII 10,000 11,500 −1,500
DII 9,000 7,800 +1,200

FII net is 10,000 minus 11,500, so −1,500. DII net is 9,000 minus 7,800, so +1,200. The combined net is −300.

A headline would call this a ₹1,500 crore foreign outflow. The same table shows foreign institutions putting ₹10,000 crore in on the same day. "FIIs sold ₹1,500 crore" is shorthand for a net position after heavy trading in both directions, which is why a modest net can sit on top of an enormous gross.

Provisional tonight, confirmed later

There are two official versions and they arrive at different times.

Provisional, from NSE, on its FII/DII trading activity page, in the evening after the 3:30 PM close. This is the number that appears in evening news summaries and in my own post-market reports. It is assembled quickly and can be revised.

Custodian-confirmed, from NSDL's FPI portal, generally the following day. Custodians confirm the foreign trades, so this is the firmer figure, and it can differ a little from the provisional one.

The gap matters in practice. During the first week of October 2026 I wanted the previous day's figures before the open and found that the aggregator sites disagreed with each other, because some had the provisional number and some had nothing yet. When that happened I reported the figure as unconfirmed rather than picking whichever site had loaded. If you keep a log, store the version and the time you captured it, the same way I treat every other recorded number in my trading journal.

The cash table is not the whole institutional picture

The daily FII/DII table covers the cash segment only. Institutions also trade index and stock futures and options, and that activity is published separately, in NSE's participant-wise open interest file.

The two are not comparable, and this is the subtlest point in this guide:

So an institution can appear as a net buyer in the cash table while holding short index futures, because one may be hedging the other. Reading the cash net as that institution's whole stance on the market is a mistake the table itself cannot warn you about.

Four ways the number gets misread

Treating it as a forecast. A negative net is a fact about a session that has closed. Whether it says anything about the next day is a separate question, and one I counted rather than assumed: across 53 sessions in my look at FII flows and the next day's Nifty, the Nifty fell the next day on 62.5% of days after FII selling against 58.5% of all days in that sample. Nearly all of the apparent effect was just a falling market. The same lesson came out of testing whether the pre-market read predicts anything.

Reading one line instead of two. The 30 September example at the top of this guide is the standard case. Foreign selling absorbed by domestic buying is a different session from both groups selling together, and the headline rarely distinguishes them.

Reading one day. A single session is noise, and the net of a single session is the small difference between two large numbers. Monthly and yearly aggregates exist for a reason.

Mixing units and versions. Compare crore with crore, and provisional with provisional. Comparing tonight's provisional figure against last week's confirmed one introduces a difference that has nothing to do with the market.

If you log it, log it properly

This is the checklist I use:

  1. Record buy, sell and net, not net alone.
  2. Keep FII and DII in separate fields, and derive the combined figure rather than storing it.
  3. Note whether the figure is provisional or confirmed, and the time you captured it.
  4. Note the source, by name, for every figure.
  5. Flag it as unconfirmed when only one site has it.

The data is genuinely useful read as what it is: a reliable, PAN-based record of what two groups of institutions did in one segment, on one day that has already ended. Most of the trouble comes from asking it the one question it cannot answer.

For what else is going on around the open, the pre-open session guide covers how the opening price is set, and the GIFT Nifty guide covers the overnight picture.

Sources

This guide shares general information only. It is not investment advice, and past patterns say nothing certain about the future. I am not registered with SEBI as an investment adviser or research analyst.

Questions people ask me

What does FII and DII data mean?

It reports the total value bought and sold in the cash segment by foreign institutions (reported as FII or FPI) and domestic institutions such as mutual funds, insurers and banks, plus the net difference for each. A positive net means the group bought more than it sold that day.

What is the difference between provisional and final FII DII data?

NSE publishes provisional figures the same evening, assembled from the PANs attached to trades during the session. Custodian-confirmed FPI figures are published separately by NSDL, generally the next day, and can differ slightly. If you record the number, record which version it is.

Why is the FII column sometimes labelled FPI?

Because that is the legal category now. SEBI's Foreign Portfolio Investors Regulations, notified on 7 January 2014, merged FIIs, their sub-accounts and qualified foreign investors into a single FPI class, and the 2019 regulations replaced that set. The daily tables kept the older FII label, so the two names point at the same column.

Does heavy FII selling mean the market will fall?

Not on its own. The cash table covers one segment, leaves out retail and proprietary trading, and describes a session that has closed. On 8 October 2026 foreign institutions sold a net ₹12,943.60 crore and the Nifty rose 1.30% the next day. I counted the pattern across 53 sessions in a separate post and the link to the next day's close was weak.

Where does NSE publish FII and DII data?

On the FII/DII trading activity page at nseindia.com/reports/fii-dii, in the evening after the close. The participant-wise open interest file for futures and options is published separately and measures positions, not the day's traded value.

FIIDIIFPIinstitutional flowsNSEmarket datatrading basics
N

NineFifteenAM

One trader building an options bot for Indian index markets since early 2026. I write down how it is built, what broke, and what it cost — no tips, no calls, no returns.

Related

06 Oct 2026
What happens when a stock joins or leaves the Nifty 50?How NSE Indices picks Nifty 50 changes, why index funds trade on the last day, and what BSE's entry and Wipro's exit looked like in the volume data.
Guides
01 Oct 2026
What is India VIX and what does it measure?India VIX is NSE's annualised volatility figure, built from Nifty option prices over 30 days. Here is how it is computed and how to turn it into a daily move.
Guides
30 Sept 2026
Streaming live prices with the Kite Connect websocket in PythonA runnable Python script for Zerodha's Kite Connect websocket: subscribe, pick a mode, read a tick field by field, handle reconnects and shut down cleanly.
Guides