Here is Thursday's flow data, unedited. Foreign institutional investors sold ₹510.69 crore of Indian equities in the cash segment. Domestic institutions bought ₹4,353.09 crore.
That is domestic money outbidding foreign selling by roughly eight and a half to one. On Friday morning the Sensex opened 176.53 points lower at 77,903.43 and the Nifty opened down 33.95 points at 24,361.90, and by mid-morning both were further out — the Nifty around 24,311 and the Sensex around 77,787, each roughly a third of a percent below Thursday's close of 78,079.96 and 24,395.85.
A flow number and a price number can disagree, and this week they have.
The bid that absorbs but doesn't lift
The mechanical read is simple: SIP-fed domestic institutions have become large enough that FII selling of a few hundred crore no longer sets the direction. It gets absorbed. What that absorption does not do is generate an up-move on its own, because it is largely passive, scheduled money buying a fixed basket on a fixed day. It shows up whatever the news is. It cannot express an opinion.
Foreign flows can. FIIs have now sold for two consecutive sessions, and their reasons on Friday were sitting in plain view:
- Middle East risk. Geopolitical tension kept investors cautious even as the external backdrop improved.
- Crude near $87. Cheaper than it was, which lifted Wall Street to a record close and pushed Asian equities up — the Nikkei was 0.77% higher, the Kospi green — but still an import-bill problem India carries alone.
- A flat Gift Nifty. It opened 11 points lower at 24,448.50 against a previous close of 24,459.50 — no overnight signal in either direction.
So a supportive global tape, an unsupportive domestic tape, and a domestic bid large enough to stop the fall from mattering and too indiscriminate to reverse it.
Under the index
The internals were less negative than the headline. Market breadth was positive in early trade — 1,373 advancing against 1,120 declining on the NSE, with 107 unchanged. The BSE Midcap Select index was up while the Smallcap Select index slipped 0.08% to 9,139.76.
The Sensex movers split along a familiar line. Bajaj Finance led the gainers, up around 0.60% in early trade, with TCS, Titan, Eternal and Infosys also higher. The losers were Trent — down over 1% — along with Power Grid, IndiGo, Tata Steel and UltraTech Cement.
Financials and IT holding up while consumption-facing retail, a metals name, a cement name and an airline sit at the bottom is not a random draw. It is what a tape looks like when the marginal seller is worried about input costs and the marginal buyer is buying whatever the index tells it to.
What this session actually tells you
Not much about direction, and quite a lot about structure.
The Indian market now has a large, price-insensitive domestic buyer standing underneath it every single day. That has changed what a bad session looks like — a third of a percent on a day with two-session FII selling and live geopolitical risk is a shrug, not a shakeout. It has also changed what a good session requires. When the buyer of last resort is already buying at full size, the only thing left to move price is whether anyone else wants to.
On Friday, heading into an Independence Day weekend with crude unresolved and two sessions of foreign selling behind it, not many did.
Anyone using this session to argue that domestic flows have made India immune to foreign selling is reading the wrong half of the data. The flows say the absorption worked. The price says it bought a slower decline, not a different one.