The published flow figure is one segment of one market, and most commentary reads it as total positioning
The short answer
The daily institutional flow numbers are purchase and sale values in the cash segment. They exclude derivative exposure entirely. On 18-Sep-2026 the foreign category's published cash figure was a net purchase of 599.54 crore, which was 0.79 per cent of what it traded that session, while the same category's index futures book stood at 48,406 contracts long against 336,834 short, a net short of 288,428 contracts and 64 per cent of the entire index futures open interest. Measured across 2,642 sessions from 2016-01-01, a regime rule built only from information available on the day repeats 90.2 per cent of the time and still yields only 209 distinct episodes with a median length of 3 sessions. Its gap in next session index return is 0.086 standard deviations, a gap that 25 per cent of simulated series with no connection to returns also produced. Measured, gross of costs, not a forecast.
Everything below is computed from the exchange's own published files, with the definitions stated so the work can be redone. One thing could not be obtained offline this session and is flagged rather than filled in: a daily history of the cash segment flow figures. Only the latest session of that series was reachable. Rather than quote remembered numbers, this page measures the half that is fully available, which happens to be the half the headline figure leaves out.
What the published figure counts, and what it does not
The number that circulates every evening is built from reported purchase and sale values in the cash segment for that session, split by participant category, with the difference between the two reported as the net. Read the definition slowly, because three exclusions live inside it and none of them is signposted when the figure is quoted.
The first is the segment. It is cash equity only. Index futures, single stock futures and the entire option book are in different files, compiled separately, and are not in the number. The second is that it is a flow, not a position. It reports what changed hands in one session, not what is held, so a category that has been building an exposure for six months and pauses for a day reports approximately zero on that day while holding everything it built. The third is aggregation. It is a category total, so simultaneous purchases and sales inside the category cancel, and a session in which a category rearranged a large book without changing its overall size reports a small net.
There is also a timing distinction that is widely missed. The figure published the same evening is provisional and reflects trades on that exchange, while a compilation prepared on a settlement basis appears later and is not obliged to agree with it. Anyone comparing a figure quoted in one place against a figure quoted in another should establish which of the two they are holding before concluding that one of them is wrong.
| Measure | Foreign institutional | Domestic institutional | Unit | In the headline figure |
|---|---|---|---|---|
| Cash segment purchase value | 38,461.63 | 17,310.04 | Crore of rupees | Yes |
| Cash segment sale value | 37,862.09 | 16,290.35 | Crore of rupees | Yes |
| Net, the headline figure | +599.54 | +1,019.69 | Crore of rupees | Yes |
| Net as a share of what it traded | 0.79 pc | 3.03 pc | Per cent of gross | Derived here |
| Index futures long | 48,406 | 40,741 | Contracts | No |
| Index futures short | 336,834 | 27,774 | Contracts | No |
| Net index futures position | -288,428 | +12,967 | Contracts | No |
| Single stock futures short | 2,947,706 | 4,599,506 | Contracts | No |
| All long option contracts held | 2,653,427 | 116,262 | Contracts | No |
Look at the fourth row first. The net that gets reported as the day's story was 0.79 per cent of the gross value the foreign category transacted, and 3.03 per cent for the domestic one. The headline is a small residual between two large and nearly equal numbers, which is exactly the shape of quantity that moves a great deal for reasons having nothing to do with a change of view.
Then look at the rows beneath it. On that session the foreign category's index futures book was net short 288,428 contracts, a position it holds rather than a flow it transacted, and the deepest such readings in this record are more negative still: the most negative was -68.3 per cent of open interest on 2026-07-14 against the most positive of +66.1 per cent on 2016-08-31. Across the whole record the foreign category was net short index futures on 1,309 of 2,642 sessions. None of that appears in a cash flow figure, and a reader who treats the cash figure as total positioning is reading one line of a two line ledger.
Note the units problem that makes the two halves hard to compare even when a reader wants to. Contracts convert to rupees only through a contract multiplier, and the multiplier for index contracts was revised more than once across this period, so every derivative figure here is a contract count for a stated session or a share of that session's open interest, never an assumed conversion.
Somebody is on the other side, and the exchange's own file proves it
The observation that the foreign and domestic series look like mirror images is usually presented as a discovery about behaviour. It is first an identity. Every transaction has a buyer and a seller, so the net across all categories is zero before anyone interprets anything. The derivative file lets that be checked rather than asserted, because it reports positions for every category in the same units on the same day.
Across 2,642 sessions, total long index futures contracts equalled total short contracts exactly on 2,640 of them, with a largest discrepancy of 1 contract in the published totals. The four participant categories' net positions summed to exactly zero on 2,639 sessions, and the daily changes in those four net positions summed to exactly zero on 2,635 of 2,641. The handful of exceptions are rounding in the published file, not economics.
So the useful question is never whether the other side existed. It is who it was. Regress each category's daily change in net index futures position on the foreign category's, and the slopes are the share of foreign movement each one absorbed.
| Category | Correlation with the foreign change | Share of foreign movement absorbed | Net position on 2026-09-18 |
|---|---|---|---|
| Client | -0.861 | 71.9 pc | +241,420 |
| Member proprietary | -0.512 | 24.6 pc | +34,041 |
| Domestic institutional | -0.150 | 3.6 pc | +12,967 |
The standard commentary has domestic institutions absorbing foreign selling. On this book they did not. The client category, which is everyone who is not a foreign institution, a domestic institution or a member trading on its own account, absorbed 71.9 per cent of foreign movement with a correlation of -0.86. Members trading their own account took 24.6 per cent. The domestic institutional category took 3.6 per cent.
The mechanism behind that last figure is visible in the same file. Domestic institutions barely use index futures directionally; on 2026-09-18 that category held +12,967 net index futures contracts while holding 4,599,506 short single stock futures contracts against 365,915 long. Their derivative activity is concentrated in single stock hedging, not index exposure, so they are structurally not the counterparty to an index futures move. State the limit precisely: this measures the derivative book, because the daily cash series could not be obtained this session. It does not establish what happens in the cash segment, and nobody should read it as though it did.
A rule that could actually have been run on the morning
To classify a regime you need a quantity, a rule and a discipline about what the rule is allowed to see. The quantity used here is the foreign net index futures position divided by total index futures open interest for that session. Dividing removes both the growth of the market and the contract multiplier, so a reading from 2016 means the same thing as a reading from 2026.
The rule is a tercile split. A session is in the lower third if the reading sits at or below the one third point of every earlier reading, the upper third if it sits above the two thirds point, and the middle otherwise. The discipline is that those two thresholds are re-estimated every session from earlier readings only, after a burn in of 500 readings, which is why labelling begins on 2018-01-10 rather than at the start of the data.
That drift is the whole argument. The thresholds open at +0.163 and +0.373 and close at -0.112 and +0.092, because foreign net index futures positioning fell steadily across the period and an expanding estimate followed it down. A reading of -0.112 would have been an extreme in 2018 and is an ordinary lower third reading now.
| Year | Lower cut | Upper cut | Width of the middle band |
|---|---|---|---|
| 2018 | +0.163 | +0.373 | 0.209 |
| 2019 | +0.036 | +0.253 | 0.217 |
| 2020 | +0.004 | +0.200 | 0.196 |
| 2021 | -0.001 | +0.176 | 0.177 |
| 2022 | +0.023 | +0.169 | 0.147 |
| 2023 | +0.002 | +0.148 | 0.146 |
| 2024 | -0.022 | +0.132 | 0.153 |
| 2025 | -0.038 | +0.126 | 0.163 |
| 2026 | -0.077 | +0.104 | 0.181 |
Fit the thresholds once on the whole period instead, at -0.188 and +0.039, and 1,038 of 2,142 sessions change label, which is 48.5 per cent of them. Nearly half the classification in a study built that way is an artefact of information that did not exist when the label was needed. This library treats that failure at length in the piece on regime conditional performance, and the reason the two thresholds drift so far is the subject of the piece on stationarity: a series whose level trends is one whose historical distribution is not a description of its current distribution.
A causal rule also stops producing thirds. Out of sample the upper bucket took 12.0 per cent of sessions, the middle 26.2 per cent and the lower 61.9 per cent. That imbalance is a finding, not a defect. The market spent most of the recent period below what its own earlier history considered a normal level of foreign futures positioning.
Ninety per cent persistence and a median episode of three sessions are the same record
Persistence decides whether a classification is usable at all. If the label flips every few days it cannot inform a decision that takes weeks, no matter how well it describes the past. The usual way to report persistence is the repeat rate, and the usual way is misleading.
| Measure | Value | What it means for a decision |
|---|---|---|
| Sessions labelled | 2,142 | The number most people would call the sample size |
| Distinct regime episodes | 209 | The number that actually constrains a conditional claim |
| Label repeats from the previous session | 90.2 pc | Sounds decisive, and is the wrong statistic to read |
| Shortest quarter of episodes | 1 session or fewer | A quarter of all regime episodes last a single session |
| Median episode | 3 sessions | Half of all episodes are this short or shorter |
| Episodes of 3 sessions or fewer | 107 of 209 (51 pc) | Cannot inform a decision measured in weeks |
| Longest quarter of episodes | 10 sessions or more | Where the usable signal lives |
| Longest episode | 333 sessions | One stretch, in a record of ten years |
| Share of sessions inside episodes of a month or more | 58 pc | Most sessions sit in long episodes; most episodes are short |
Both halves of that table are true at once, and the reconciliation matters. The mean episode is 10.2 sessions and the median is 3, because the distribution is dominated by a few very long stretches, the longest running 333 sessions. Most sessions sit inside long episodes, 58 per cent of them inside episodes of a month or more. Most episodes are short: 107 of 209 last three sessions or fewer and a quarter last a single session.
The practical consequence is that the label is two different instruments depending on where you are standing in it, and you never know which at the time. Deep inside a long stretch it is stable and informative about the environment. Near a boundary it flickers. A rule that acts on a change of label acts mostly on the flickers, because that is where the changes are, while a rule that acts on the state being unchanged for a long time is acting on information that only exists once the episode is already well advanced.
The honest sample size is the second row of that table, not the first. 209 episodes, split three ways, is a few dozen independent observations per bucket. That is the number any conditional claim has to survive, and it is roughly 10 times smaller than the session count a study would normally quote.
Flows and prices are determined together
Here is the error that survives every other correction on this page: treating a flow regime as an external cause of a price move. It is not, and it cannot be, because the two are produced by the same mechanism at the same moment. A purchase is executed against an order book, and the execution both constitutes the flow and moves the price. Neither is prior to the other.
That is measurable. The daily change in the foreign net futures position correlates +0.376 with the same session's index return across 2,626 sessions. The identical change correlates +0.004 with the next session's return across 2,612. The first explains 14.2 per cent of the variation in same session returns. The second explains 0.002 per cent of the next session's, a figure comfortably inside the range you would get from unrelated series of this length, since the 95 per cent band around zero for a correlation on 2,612 observations is plus or minus 0.038.
So the association is real and it is contemporaneous. The sentence people want, that foreign selling drove the market down, is at best a restatement of the fact that the market went down on heavy foreign selling, which is one event described twice. It is not evidence that the flow was the cause, and it carries no information about the next session. The instability of correlation itself is the neighbouring problem: even the contemporaneous figure quoted above is a decade average of something that moves.
What the same method does to a series with nothing in it
A regime classifier applied to a persistent series always produces long looking runs and an apparent difference between buckets. That is a property of the method, not a discovery about the market, and the way to find out how much of a result is method is to run the method on something known to be empty.
The null here holds the real index returns fixed and replaces only the positioning series. Each simulated series is a first order autoregressive process with the same persistence coefficient as the real one, 0.985, and the same daily innovation size, and it is unrelated to returns by construction. It is then labelled by the identical causal tercile rule with the identical burn in, and the regime spread in next session return is measured against the real returns. One thousand trials, seed 130.
| Quantity | Value |
|---|---|
| Real data, spread between best and worst regime | 0.086 standard deviations |
| Simulated series, median spread | 0.061 |
| Simulated series, 90th percentile | 0.111 |
| Simulated series, 95th percentile | 0.125 |
| Simulated series, largest of 1,000 trials | 0.234 |
| Where the real spread falls in the simulated distribution | 75th percentile |
| Simulated trials matching or beating the real spread | 25 per cent |
| Real median episode length | 3 sessions |
| Simulated median episode length, median across trials | 3 sessions |
Two results, and the second is the one to keep. First, the run length signature of the real data is exactly what an unrelated persistent series produces: a median episode of 3 sessions in the simulation against 3 in the real record. Long regime episodes are not evidence that the regime means anything. Second, the real spread of 0.086 standard deviations sits at the 75th percentile of the simulated distribution, and 25 per cent of series with no connection to returns at all produced a spread at least that wide.
That is a null result, reported as one. This classification's forward separation is not distinguishable from what the method manufactures out of a persistent series and a set of returns it has never seen. Anyone publishing a conditional table on flow regimes without running this comparison has not established that their table contains anything, and the table will look convincing either way. Choosing the right null is the general version of this step, and publishing a result someone else can check is what makes the claim inspectable at all.
| Horizon and regime | Sessions | Mean return | 95 per cent interval | Standard deviation |
|---|---|---|---|---|
| Next session, upper third | 255 | +0.106 | +0.000 to +0.212 | 0.86 |
| Next session, middle third | 561 | +0.065 | -0.019 to +0.149 | 1.02 |
| Next session, lower third | 1,314 | +0.014 | -0.047 to +0.075 | 1.13 |
| Next session, all sessions | 2,130 | +0.039 | -0.007 to +0.084 | 1.07 |
| Next 5 sessions, upper third | 249 | +0.365 | +0.151 to +0.580 | 1.73 |
| Next 5 sessions, middle third | 559 | +0.244 | +0.059 to +0.430 | 2.24 |
| Next 5 sessions, lower third | 1,274 | +0.088 | -0.052 to +0.227 | 2.54 |
| Next 5 sessions, all sessions | 2,082 | +0.163 | +0.061 to +0.265 | 2.38 |
| Next 21 sessions, upper third | 228 | +1.102 | +0.632 to +1.573 | 3.62 |
| Next 21 sessions, middle third | 543 | +1.413 | +1.076 to +1.750 | 4.00 |
| Next 21 sessions, lower third | 1,132 | +0.228 | -0.120 to +0.576 | 5.98 |
| Next 21 sessions, all sessions | 1,903 | +0.671 | +0.435 to +0.907 | 5.26 |
The ordering looks agreeable: the upper third ahead of the middle, the middle ahead of the lower, at every horizon shown. Resist it. The intervals overlap heavily, the 5 and 21 session rows are built from overlapping windows that make their intervals far too narrow to take at face value, the honest sample is 209 episodes rather than 2,142 sessions, and the simulation above says a pattern of this size is what the method produces from an empty series. Four independent reasons to hold the same table loosely.
What the classification is honestly good for
Nothing above establishes that a flow regime predicts anything, and this record cannot settle it. What the classification does deliver is worth having anyway, provided it is not asked to do the other job.
It sets expectations about the environment you are operating in. A foreign derivative book that has been persistently short for a long stretch is a different market to trade in than one that has been persistently long: participation is distributed differently, the counterparty to your order is a different sort of participant, and the assumptions you formed in the other environment have not been tested in this one. That is context, and context changes how much confidence a conclusion deserves rather than what the conclusion is.
It also disciplines how you read the evening number. A category that transacted 76,324 crore of gross value to produce a +599.54 crore net, while holding a large derivative position the figure does not mention, has not told you what it thinks. Treating that residual as a verdict is the single most common error in daily market commentary, and it survives because the number is published every day and the derivative file is not read.
And it tells you what your sample really is. A decade of sessions holding 209 regime episodes is a small study. Knowing that sets the weight every conditional number on this page can bear, including the ones that came out in the direction a reader might have hoped. Stress testing against the events that actually happened and the mechanics of classifying a market state are the two neighbouring pieces.
Frequently asked questions
What exactly do the daily foreign and domestic institutional figures measure?
Purchase value, sale value and their difference in the cash segment for that session, reported by participant category. Three limits follow from that sentence. It is one segment, so derivative exposure is absent. It is a flow over one session, not a position, so it says nothing about the stock of holdings that flow is adjusting. And it is a category total, so a category that bought and sold the same amount in opposite directions across different holdings reports zero.
Does a net purchase figure mean foreign investors increased their exposure?
Not on its own. On 18-Sep-2026 the foreign category's published cash figure was a net purchase of 599.54 crore, and on the same session that category's index futures book stood at 48,406 contracts long against 336,834 short, a net short of 288,428 contracts, which was 64 per cent of the entire index futures open interest and the 23rd most negative reading in 2,642 sessions. The cash headline and the derivative book pointed in opposite directions on the same day.
Why are the foreign and domestic figures close to mirror images?
Because every trade has two sides, so the net across all categories is zero by construction before anyone interprets it. The exchange's own derivative file makes that visible: across 2,642 sessions the four categories' net index futures positions summed to exactly zero on 2,639 of them, and total long contracts equalled total short contracts exactly on 2,640. A large foreign sale absorbed domestically is an accounting identity first. Whether it also carries information is a separate question the identity cannot answer.
Who actually takes the other side of foreign positioning changes?
On the index futures book, measured over 2,642 sessions, the client category absorbed 71.9 per cent of the daily change in the foreign net position, members trading on their own account 24.6 per cent, and the domestic institutional category 3.6 per cent. The three shares sum to one because the identity forces them to. The familiar picture of domestic institutions absorbing foreign selling is not what this half of the market shows, and this measurement covers derivatives only, because the daily cash series could not be obtained.
How do you classify a regime without hindsight?
Every input has to be observable before the session it labels. Here the thresholds separating the three buckets are the one third and two thirds points of every earlier reading, re-estimated each session after a burn in, never fitted once across the whole period. The cost of getting that wrong is measurable: thresholds fitted on the full sample relabel 1,038 of 2,142 sessions, 48 per cent of them. Article 94 in this library works through the peeking problem in detail.
If the label repeats ninety per cent of the time, is it not stable?
That statistic is the wrong one to read. The label repeated on 90.2 per cent of sessions and the record still contains only 209 distinct episodes, with a median episode of 3 sessions and a quarter of them lasting a single session. Both facts are true because a few very long episodes carry most of the sessions while most episodes are short. A classification whose typical episode is three sessions cannot inform a decision that takes weeks, whatever the repeat rate says.
Does a flow regime cause the price move that follows it?
No, and the data says so plainly. The daily change in the foreign net futures position correlates +0.38 with the same session's index return and +0.00 with the next session's. Almost all of the association is contemporaneous. Flows and prices are set in the same auction by the same orders, so a flow figure is a description of what happened in that session, not an external cause of it, and certainly not a leading indicator of the next one.
Is there any forward edge in the classification?
Not one this record can establish. The gap between the best and worst regime's next session return was 0.086 of that return's own standard deviation. Run the identical rule on 1,000 simulated positioning series with the same persistence but no relationship to returns at all, and 25 per cent of them produced a gap at least that wide. The real spread sits at the 75th percentile of what the method manufactures from nothing.
Why report the position as a share rather than in rupees?
Because a contract count cannot be converted to rupees without the contract multiplier, and the multiplier for index contracts was revised more than once over this period. Expressing the foreign net position as a fraction of total index futures open interest removes the multiplier entirely, so no figure on this page depends on a conversion that would have to be assumed. It also makes readings from 2016 and 2026 comparable, which a raw contract count is not.
What is the classification honestly useful for?
Setting expectations, not timing entries. Knowing that the foreign derivative book has been persistently short for a long stretch tells you what kind of market you are operating in and which of your own assumptions are currently untested. It does not tell you what the index does next, and this page could not find evidence that it does. Treat it as context that shapes how much confidence a conclusion deserves, and never as a trigger.
What could not be obtained this session. A daily history of the cash segment institutional flow figures was not available offline. The exchange serves only the latest session at the endpoint that carries them, and no archive of the daily series was reachable without a browser. This page therefore carries exactly one session of cash figures, fetched directly and reproduced above in full, and makes no measured claim about the behaviour of the cash flow series over time. In particular, the widely repeated claim that domestic institutional cash buying mirrors foreign cash selling is not tested here. What is measured is the derivative half, where the mirror relationship can be checked exactly and where the principal counterparty to foreign index futures movement turns out to be the client category rather than the domestic institutional one. No figure on this page is quoted from memory. Anything that could not be computed was left out rather than filled in.
How these numbers were produced. Participant wise open interest files were read for 2,642 sessions, from 2016-01-01 to 2026-09-18, and joined to the exchange's daily index close files on the sessions both hold. Across that span the exchange held 13 sessions the open interest archive lacks (2016-02-10, 2016-10-30, 2019-10-27, 2020-02-01, 2020-11-14, 2023-10-31, 2023-11-12, 2024-01-20, 2024-03-02, 2024-05-18, 2025-02-01, 2025-09-19, 2026-02-01), mostly weekend special sessions, and the index files lack 2016-06-20, which the open interest archive holds; a change or return is used only where it covers a single session of that combined calendar, so no two session move is read as one, and a forward return over a stated number of sessions spans exactly that many. Two integrity guards run before the page is written: no gap between consecutive sessions may exceed seven calendar days, since a missing block would corrupt every daily change around it, and no complete calendar year may hold fewer than 240 sessions. Two quirks in the published files are handled explicitly rather than silently: some sessions carry a trailing unnamed column, and one session publishes its figures with Indian digit grouping inside quoted fields. The positioning series is the foreign category's index futures long contracts minus its short contracts, divided by total index futures open interest for that session, which removes both market growth and the contract multiplier. Regime thresholds are the one third and two thirds points of all earlier readings, re-estimated every session after a burn in of 500 readings, so labelling covers 2,142 sessions from 2018-01-10. Absorbed shares are ordinary regression slopes of each category's daily change in net position on the foreign category's, and are checked to sum to one before the page is written. Forward returns are log returns of the broad index in per cent, gross of all costs, taxes and execution effects, and are measurements of an index rather than of any tradable outcome. The null is 1,000 first order autoregressive series with persistence coefficient 0.985 and innovation standard deviation 0.0445 matched to the real series, seed 130, classified by the identical rule and scored against the real returns. Nothing here is a forecast or a recommendation, and no part of it describes an outcome any participant should expect.
The position is stated as at 20 September 2026, on data through 2026-09-18. Exchange archives are revised and reporting conventions change; re-pull the source files and confirm the current definition of each published figure before relying on anything here, and take advice on your own circumstances.
Ready to go deeper than this article?
Bharath Shiksha is a 90-volume curriculum across 6 stages, from chart reading at ₹14,999 through capital raising, or the full bundle at ₹1,49,999. Reading a published figure for what it actually measures, then testing a classification against the null it has to beat, is method rather than a result to memorise, and it is taught that way here.
Take the free diagnostic →