Dados B3Macro › Foreign flow and the market PT

Foreign flow and the market

Does foreign flow lead or follow the Brazilian market?

Monthly foreign portfolio flow against the total return of our market index, 123 months (2016-05 to 2026-07), in both currencies and at several lags.

Correlation by lag

Lag 0 is the same month. Lag +1 pairs this month's flow with next month's return — the only direction that would be worth anything to an investor. Negative lags put the return first. Why some lags have more pairs than the months in common: the flow series starts in 1995 and the index in 2016, and the Central Bank publishes with a two-month lag while the index is current — so a shifted pair can use a flow month before the overlap, or a return month after it. Invariants I-X10 and I-X11 recompute every one of these counts by an independent route.

LagSame-month readingIn R$ (Pearson · Spearman)In US$ (Pearson · Spearman)Months
-3return → flow +3m+0.04 · +0.05-0.00 · -0.00120
-2return → flow +2m-0.08 · -0.12-0.09 · -0.14121
-1return → flow +1m+0.14 · +0.10+0.20 · +0.15122
+0same month+0.47 · +0.39+0.51 · +0.46123
+1flow → return +1m+0.02 · -0.07+0.04 · -0.04124
+2flow → return +2m-0.13 · -0.16-0.07 · -0.11125
+3flow → return +3m-0.05 · -0.04+0.01 · +0.01125

What the numbers say

And when the money leaves?

A correlation treats money coming in and money going out as the same axis — it cannot answer this. So the sample is split by the sign of the flow.

After a month when the market…the flow the next month was
roseUS$ +105m
fellUS$ -184m
After a month when the flow…the market the next month did
came in+1.25%
left+1.28%

Correlation at each lag

Same scale on both sides of zero, fixed at ±0.60 — a cropped axis is how a 0.05 gets to look like a 0.50.

-0.50-0.25+0.25+0.50-0.00-0.09+0.20+0.51+0.04-0.07+0.01-3-2-1+0+1+2+3← return comes firstflow comes first →

The two series over time

Flow as bars, market return as a line, each on its own half so neither is stretched to look like the other.

Flow (US$)Market return201620182020202220242026

Does it survive rough handling?

The finding is the ORDER, not the size: in every cut the return→flow correlation is larger than flow→return. The size does not hold up the same way: without 2020 it falls from +0.20 to +0.09, more than half. The asymmetry survives; the magnitude rests on one year, and that belongs next to the result, not in a footnote.

CutMonthsReturn → flowFlow → return
tudo124+0.20+0.04
sem 2020112+0.09-0.08
2016–202057+0.19+0.06
2021–hoje67+0.21+0.02

What this is not

How the series are built  ·  The flow series itself  ·  This table as JSON  ·  Back to Macro