---
title: "Flows"
book: "Strategies I: Equities and Futures"
subject: quant
language: en
chapter: 9
exercises: 8
source: https://one-course.com/books/quant/8/en/chapter/9-flows
---

# Chapter 9 — Flows

When investors pull money from a mutual fund, the fund sells what it holds; when many funds lose money together, they sell the same stocks together, and the prices fall for reasons that have nothing to do with the companies. Coval and Stafford found this [price pressure](#def-s1-flows-fit) in mutual-fund trades from 1980 to 2003, and found that whoever traded against the forced sellers was paid for it. Lou aggregated the trading that fund flows force into a measure for each stock and found a significant, temporary price impact, reversed in the following years; since flows are predictable, so is the pressure. This chapter simulates two hundred funds on the synthetic market, measures the pressure their flows exert and how much of it reverses, and tries the two trades the literature suggests: getting ahead of the flows, and buying what they forced out. The build is `firm.flowpress`.

## 9.1 Flow-driven price pressure

**Definition 9.1 (Flow-induced trading, price pressure).**

*Flow-induced trading* of a stock over a period is the trading that fund flows force on it: the sum over funds of the share of the stock each fund owns times the fund’s flow as a share of its assets. *Price pressure* is the part of a price move caused by such uninformed demand, expected to reverse once the demand has been absorbed.

Why should uninformed demand move prices at all? If other investors stood ready to take the other side at a price close to value, it would not. Gabaix and Koijen argue that the market as a whole is inelastic: institutions operate under mandates that leave little room to absorb flows, and they estimate that $1 invested in the stock market raises its value by about $5. For single stocks, the [flow-induced trading](#def-s1-flows-fit) of Coval and Stafford and of Lou is the measured version of the same idea.

The synthetic market’s funds (`firm.flowpress`) are simple. Two hundred funds hold sixty stocks each, picked at random, and replace a quarter of their holdings every quarter; together they own about 20% of each stock. Each quarter a fund’s flow is 5% of its assets per standard deviation of its trailing one-year return relative to other funds, plus 3% of noise: flows chase performance. A stock’s [flow-induced trading](#def-s1-flows-fit) that quarter (standard deviation 0.5% of its shares) pushes its price by 1.5 times itself, spread over the quarter, and the push reverses with a half-life of 126 days. Because the flows chase returns that include past pressure, pressure breeds flows: the mechanism Lou proposed for fund performance persistence.

## 9.2 Mutual-fund redemptions and fire sales

Measured in the cross-section, each quarter’s log return moves 1.05 per unit of that quarter’s [flow-induced trading](#def-s1-flows-fit); over the following year, $-0.69$, so that 66% of the quarter’s move reverses within a year (the planted decay alone would take back 75% of the end-of-quarter push). Without planted pressure the same slopes are 0.31 and 0.32: funds that did well hold stocks that did well, and the synthetic market’s stocks have persistent drifts, so flows point at drifting stocks whether or not they push them. Any measure of flow pressure has to be read against that confound.

![Event study of flow-induced trading on the synthetic market: cumulative log return of the stocks in the top decile of a quarter’s flow-induced trading minus the bottom decile, from the quarter’s start, with the planted pressure and without it. Data: s1_flows.event_path.](https://one-course.com/images/onecourse/chapters/quant-8/s1-flows/fig-2d0259097bf3.svg)

***Figure 9.1.** [Event study](https://one-course.com/books/quant/8/en/chapter/7-earnings#def-s1-earnings-event) of [flow-induced trading](#def-s1-flows-fit) on the synthetic market: cumulative log return of the stocks in the top decile of a quarter’s [flow-induced trading](#def-s1-flows-fit) minus the bottom decile, from the quarter’s start, with the planted pressure and without it. Data: `s1_flows.event_path`.*

The [event study](https://one-course.com/books/quant/8/en/chapter/7-earnings#def-s1-earnings-event) ([Figure 9.1](#fig-s1-flows-path)) shows the shape Lou describes. The top decile of a quarter’s [flow-induced trading](#def-s1-flows-fit) beats the bottom by 1.74% over the quarter and by 1.91% at its peak, three days after the quarter ends; the gap is back to zero 261 trading days after the quarter’s start, about a year, and ends at $-2.15\%$ after three years. Without pressure the gap is 0.15% at the quarter’s end and drifts to $-1.41\%$.

## 9.3 ETF and index-fund flows

Mutual funds trade their flows with some discretion; exchange-traded funds cannot. An ETF’s creations and redemptions are baskets of its holdings, and arbitrageurs trade the basket whenever the ETF’s price leaves its value. Ben-David, Franzoni and Moussawi, using changes in index membership as a natural experiment, found that stocks with higher ETF ownership have significantly higher volatility and more negative autocorrelation (liquidity shocks in the ETF reach its baskets through the arbitrage) and earn a risk premium of up to 56 basis points a month. The flows of index funds are the most mechanical of all, and chapter 10 trades the most predictable of them, index rebalancing.

## 9.4 Quarterly holdings as a signal

**Definition 9.2 (13F holdings).**

*13F holdings* are the quarterly equity positions that US institutional investment managers above a size threshold must report to the SEC on Form 13F, published after a lag; they are the public source for the fund holdings on which flow signals are built.

**As of September 2026 — Form 13F.**

Institutional investment managers exercising investment discretion over $100 million or more in Section 13(f) securities must file Form 13F with the SEC each quarter, within 45 days after the quarter’s end; the SEC publishes the Official List of Section 13(f) securities shortly after each quarter. Mutual funds also report their full portfolios on their own forms. A holdings-based signal therefore sees positions one and a half to four and a half months old.

The chapter’s two books respect that lag.

| synthetic funds, years 3 to 10 | with planted pressure | without |
| --- | --- | --- |
| expected flows: Sharpe ratio before, after costs | 0.70, 0.44 | 0.38, 0.12 |
| expected flows: return a year after costs; turnover | 1.4%; 4.0 | — |
| fire-sale reversal: Sharpe ratio before, after costs | $-0.03$, $-0.35$ | $-0.73$, $-1.06$ |

The *expected-flow* book forecasts next quarter’s [flow-induced trading](#def-s1-flows-fit) at each quarter’s start: flows from the funds’ trailing returns (with a slope estimated on past quarters only) times holdings from the previous quarter-end, already filed. It buys the top decile and sells the bottom for the quarter, and nets a Sharpe ratio of 0.44. The *fire-sale reversal* book waits until a quarter’s trading is known from the next filing, 45 days after the quarter, buys the stocks the flows sold hardest and sells those they bought, and holds for a year. It loses: by the time the trading is known, a good part of the reversal has happened, and what remains is fought by the drifts the flows were chasing. The version without pressure loses more, which is the pressure’s contribution. The reversal is real in the [event study](https://one-course.com/books/quant/8/en/chapter/7-earnings#def-s1-earnings-event) and hard to capture after the lag.

A last variant shows the confound at its worst. Give each fund a style tilt of its own, and flows become style bets: funds tilted to a rewarded style do well, attract inflows, and buy that style. The top-minus-bottom decile of [flow-induced trading](#def-s1-flows-fit) then gains 4.9% in the quarter and 69.0% over three years, none of it reversing, because it is the style premium, not the pressure. A flow signal must be checked against the factors it might be proxying.

## 9.5 Strategy files

**Strategy file 9.1 — Fire-sale reversal.**

**Who pays you, and why.** Funds forced to sell by redemptions, who accept a price below value for immediacy.

**Instruments and venues.** Stocks held in common by funds with large outflows.

**Signal.** Flow-induced selling, from fund flows and holdings, as soon as it can be known.

**Sizing and execution.** Buy the most-sold names and hold while the pressure reverses; hedge factors.

**Costs.** Moderate turnover; the names are under selling pressure, so liquidity is available to a buyer.

**How it dies.** Reporting lags that let the reversal happen before the signal arrives; confounds with momentum.

**Horizon, capacity, infrastructure.** Months to a year; fund flow and holdings data.

**Backtest honestly.** Holdings and flows as of their publication; control for the factors and momentum.

**Sources.** Coval and Stafford (2007): significant returns to trading against constrained funds, 1980–2003; this chapter’s simulation.

**Strategy file 9.2 — Flow-induced pressure.**

**Who pays you, and why.** Fund investors whose flows chase past performance, and the funds that must trade them.

**Instruments and venues.** Stocks held by funds likely to receive or lose money.

**Signal.** Expected [flow-induced trading](#def-s1-flows-fit): flows forecast from trailing fund returns times reported holdings.

**Sizing and execution.** Long expected buying, short expected selling, for the quarter.

**Costs.** Quarterly turnover.

**How it dies.** Flows that stop chasing performance; front-runners crowding the same forecast.

**Horizon, capacity, infrastructure.** A quarter; holdings, flows and fund returns.

**Backtest honestly.** Holdings lagged to their filing; the flow model estimated on past data only.

**Sources.** Lou (2012): the expected part forecasts next year’s returns, reversed later; Coval and Stafford (2007) on front-running forced trades.

**Strategy file 9.3 — ETF creation-redemption flow.**

**Who pays you, and why.** ETF liquidity traders whose trades reach the basket through arbitrage.

**Instruments and venues.** ETFs and their constituents.

**Signal.** Daily creations and redemptions, or the ETF’s premium to its value.

**Sizing and execution.** Provide liquidity in the basket against the flow; unwind as it reverts.

**Costs.** Basket trading; short horizons.

**How it dies.** Arbitrageurs faster than the strategy; flows that carry information.

**Horizon, capacity, infrastructure.** Days; ETF flow and holdings files.

**Backtest honestly.** Creation data with its publication time; basket costs.

**Sources.** Ben-David, Franzoni and Moussawi (2018): higher volatility and more negative autocorrelation with ETF ownership.

**Strategy file 9.4 — Holdings-overlap signal.**

**Who pays you, and why.** As for fire sales: funds holding the same stocks sell them together.

**Instruments and venues.** Stocks with concentrated common ownership.

**Signal.** The overlap of a stock’s holders with funds under stress (Book 7, chapter 28’s overlap measure).

**Sizing and execution.** As a risk flag, or as a conditional reversal trade after a stress.

**Costs.** Low as an overlay.

**How it dies.** Holdings too stale to show current overlap.

**Horizon, capacity, infrastructure.** Quarters; holdings data.

**Backtest honestly.** Overlap from filed holdings only.

**Sources.** Coval and Stafford (2007) on [price pressure](#def-s1-flows-fit) in securities held in common; no performance figure verified.

## 9.6 Tutorial: forced sellers

**Goal.** Simulate funds with performance-chasing flows, measure the pressure and its reversal, and trade the expected flows and the fire sales with the filing lag. **End state:** the table and [Figure 9.1](#fig-s1-flows-path).

1. **The funds**: each quarter, flows from trailing returns, [flow-induced trading](#def-s1-flows-fit) from holdings, and the price push spread over the quarter. `if q > 0 : trailing = np.sum(fund_ret[max (0 , t0 - cfg.chase * cfg.quarter):t0], axis=0 ) flow = flow_rule(trailing, cfg.beta, cfg.noise, rng) pending = fit(own, flow) trail_hist.append(trailing) flow_hist.append(flow) fit_hist.append(pending) own_hist.append(own) for t in range (t0, min (t0 + cfg.quarter, T)): step = cfg.impact * pending / cfg.quarter if q > 0 else np.zeros(N) new = level * decay + step dp = new - level level = new Rn[t] = np.where(listed[t], (1 + np.nan_to_num(R[t])) * np.exp(dp) - 1 , np.nan) pressure[t] = level fund_ret[t] = W @ np.nan_to_num(np.log1p(Rn[t]))` **Listing 9.1.** Flows, flow-induced trading and the pressure. code/firm/flowpress/firm_flowpress.py
2. **The expected-flow book**: a flow model estimated on past quarters, and holdings as filed. `for k, t0 in enumerate (out[" quarters " ]): tr = out[" trailing " ][k] z = (tr - tr.mean()) / tr.std() if len (zs) >= 4 : # the flow-performance slope from past quarters only b = np.polyfit(np.concatenate(zs), np.concatenate(fl), 1 )[0 ] own = out[" own " ][k - 1 ] # holdings at the previous quarter-end, filed by now pred = (b * z) @ own s = np.where(P.listed[t0], pred, np.nan) Wf[t0:t0 + QTR] = sort_book(s[None , :], np.isfinite(s)[None , :])[0 ]` **Listing 9.2.** Forecasting next quarter’s flow-induced trading. code/strategies-1/09-flows/python/s1_flows.py
3. **Run** `response` , `event_path` , `books` (with and without pressure) and `fig_flows.py` .

**What to change next.** Let fund sizes follow their flows and watch pressure compound; add ETFs that trade their baskets mechanically; shorten the filing lag and see how much of the reversal a faster signal captures.

## 9.7 Build: fund flows and pressure

**Purpose.** Simulated fund holdings and flows, [flow-induced trading](#def-s1-flows-fit), and the [price pressure](#def-s1-flows-fit) it causes, to study flow strategies with a known truth.

**Interface.** `FlowConfig`, `fit(own, flow)`, `flow_rule(trailing, beta, noise, rng)`, `simulate_flows(R, listed, style, cfg)`.

**Rules.** Flows from information available at the quarter’s start; the pressure added to returns without touching the rest of the market; holdings recorded quarter by quarter.

**Acceptance tests.** `code/firm/flowpress/tests/`: [flow-induced trading](#def-s1-flows-fit) by hand; flows ranked by trailing returns; the pressure follows the quarter’s trading, and the added log returns sum to the pressure level.

**Stretch.** Fund sizes that follow flows; partial scaling of flows into trades (funds using cash); ETFs.

Sources and further reading

- J. Coval and E. Stafford, “Asset fire sales (and purchases) in equity markets”, *Journal of Financial Economics* 86(2), 2007.
- D. Lou, “A flow-based explanation for return predictability”, *Review of Financial Studies* 25(12), 2012.
- I. Ben-David, F. Franzoni and R. Moussawi, “Do ETFs increase volatility?”, *Journal of Finance* 73(6), 2018.
- X. Gabaix and R. S. J. Koijen, “In search of the origins of financial fluctuations: the inelastic markets hypothesis”, NBER working paper 28967, 2021.
- US SEC, Frequently Asked Questions about Form 13F.

## 9.8 Exercises

**Exercise 9.1 ★.**

Funds own 20% of a stock; they receive inflows of 5% of their assets. What is the stock’s [flow-induced trading](#def-s1-flows-fit), and what does an impact of 1.5 make of it?

**Solution of Exercise 9.1.**

$0.2 \times 0.05 = 1.0\%$ of the stock’s shares to buy; with an impact of 1.5, a push of 1.5% over the quarter.

**Exercise 9.2 ★.**

A push decays with a half-life of 126 days. How much of it remains after 126 days, and after a year of 252?

**Solution of Exercise 9.2.**

Half (50%) after 126 days, a quarter after 252: three quarters of the push has reversed within a year.

**Exercise 9.3 ★.**

A 13F filing for the quarter ending March 31 is due within 45 days. How old are the holdings when the filing arrives, and when the next one does?

**Solution of Exercise 9.3.**

Filed on the last day allowed, the March 31 holdings are 45 days old when they arrive (mid-May); they remain the latest until the June holdings arrive in mid-August, when they are about four and a half months old.

**Exercise 9.4 ★★.**

Why do [flow-induced trading](#def-s1-flows-fit) and past returns point at the same stocks on the synthetic market even without any pressure?

**Solution of Exercise 9.4.**

Funds that did well hold stocks that did well; the synthetic stocks have persistent drifts, so the stocks the good funds hold keep rising. Flows chase the funds’ returns and are traded in those same stocks, so [flow-induced trading](#def-s1-flows-fit) and past returns line up even with no pressure (a cross-sectional slope of 0.31).

**Exercise 9.5 ★★.**

Explain how performance-chasing flows can create fund performance persistence.

**Solution of Exercise 9.5.**

A fund with good returns gets inflows, buys more of what it holds, and pushes those prices up; that raises its next returns, which attract more inflows. Its performance persists because of the flows it attracts, not its skill: Lou’s explanation.

**Exercise 9.6 ★★.**

Why does the fire-sale reversal book lose even though the [event study](https://one-course.com/books/quant/8/en/chapter/7-earnings#def-s1-earnings-event) shows a reversal?

**Solution of Exercise 9.6.**

The trade can only start when the quarter’s trading is known, 45 days after the quarter, by which time part of the reversal has happened; what remains is small and is fought by the drifts that the flows were chasing, which keep the sold stocks falling. The [event study](https://one-course.com/books/quant/8/en/chapter/7-earnings#def-s1-earnings-event) measures the reversal from the quarter’s start; the book enters much later.

**Exercise 9.7 ★★★.**

*Coding.* Run `event_path(1.5, 756, 2.0)`. Explain why tilted funds turn the flow signal into a style bet, and how you would test a real flow signal for it.

**Solution of Exercise 9.7.**

The top-minus-bottom decile gains 4.9% in the quarter and 69.0% over three years. Funds tilted to a rewarded style earn its premium, attract inflows and buy that style, so the flow signal ranks stocks by their style. To test a real flow signal, regress its returns on the style factors and momentum, or build it from flows residualised on the fund’s style returns.

**Exercise 9.8 ★★★.**

*Find the flaw.* “We compute [flow-induced trading](#def-s1-flows-fit) from quarter-end holdings and trade on the quarter-end date; the backtest earns 8% a year.”

**Solution of Exercise 9.8.**

Quarter-end holdings are filed up to 45 days later, so trading on the quarter-end date uses information not yet public; flows are also reported with a lag. The honest backtest trades on the filing dates, and controls for momentum and styles.

## 9.9 Problem: Forced Sellers

**Problem 9.1.**

Weekend problem — pressure, reversal and the lag

The chapter’s simulated funds on `firm.synthmkt`, and the public record.

**Part I — The idea.**

1. Define [flow-induced trading](#def-s1-flows-fit) and [price pressure](#def-s1-flows-fit) .
2. What did Coval and Stafford find?
3. What did Lou find, and what does it explain?
4. What is the inelastic markets hypothesis?

**Part II — The simulation.**

5. Describe the funds, their flows and the planted pressure.
6. How does the pressure feed back into flows?
7. Give the cross-sectional responses with and without pressure.
8. What share of the quarter’s move reverses within a year?

**Part III — The trades.**

9. Describe the expected-flow book and its result.
10. Describe the fire-sale reversal book and why it loses.
11. What do ETFs change?
12. What is Form 13F, and what lag does it impose?

**Part IV — The verdict.**

13. State the *named result* : the [price pressure](#def-s1-flows-fit) of [flow-induced trading](#def-s1-flows-fit) and the share that reverses within a year.
14. Read the [event study](https://one-course.com/books/quant/8/en/chapter/7-earnings#def-s1-earnings-event) .
15. What does the style-tilted variant show?
16. Where would you get faster flow data?
17. How would you control a flow signal for momentum?
18. Which strategy file would you run?
19. What would make the fire-sale trade work?
20. In one sentence: what does a flow strategy sell?

**Solution of Problem 9.1.**

1. Trading forced by fund flows (ownership share times flow, summed over funds); the part of a price move caused by uninformed demand, expected to reverse.
2. Funds with large outflows sell existing positions, creating pressure in commonly held stocks; trading against them earns significant returns; the forced trades are predictable.
3. A significant, temporary price impact of [flow-induced trading](#def-s1-flows-fit) ; its expected part forecasts next year’s returns, reversed later; it can explain fund performance persistence and the smart-money effect, and part of momentum.
4. Institutions are constrained, the market’s demand is inelastic, and $1 invested raises its value by about $5.
5. Two hundred funds of sixty random stocks, a quarter replaced each quarter, owning 20% of each stock; flows of 5% per standard deviation of trailing return plus 3% noise; a push of 1.5 per unit of [flow-induced trading](#def-s1-flows-fit) over the quarter, reversing with a half-life of 126 days.
6. The push raises the returns of the funds that hold the pushed stocks, which then attract more flows.
7. 1.05 in the quarter and $-0.69$ the next year with pressure; 0.31 and 0.32 without.
8. 66% (75% of the end-of-quarter push by the planted decay alone).
9. Flows forecast from trailing fund returns times filed holdings; Sharpe ratio 0.44 after costs.
10. It enters 45 days after the quarter, too late for much of the reversal, and fights the drifts; $-0.35$ .
11. Mechanical basket trades through arbitrage: more volatility and negative autocorrelation in the stocks they hold.
12. Quarterly holdings reports of managers above $100 million in 13(f) securities, filed within 45 days.
13. **Named result.** Each unit of [flow-induced trading](#def-s1-flows-fit) moves the quarter’s log return by 1.05 (0.31 of it the planted drift the flows chase), and 66% of the quarter’s move reverses within the following year.
14. The top-minus-bottom decile gains 1.74% over the quarter, peaks at 1.91% just after it, is back to zero after about a year and ends at $-2.15\%$ after three.
15. With style-tilted funds the signal becomes a style bet: 69.0% over three years, never reversing.
16. Monthly fund assets and flows, daily ETF creations, and fund-level reports of portfolio changes.
17. Regress its returns on momentum and the style factors, or residualise the flows on fund style returns.
18. The expected-flow book, with the flow model re-estimated as flows change.
19. Faster knowledge of the forced selling: daily flow data or news of liquidations.
20. Liquidity, to investors who must trade.

## 9.10 Interview questions

**Interview question 9.1 ★ researcher.**

Why would mutual-fund flows move stock prices?

**Solution of Interview question 9.1.**

Because funds must trade their flows in the stocks they hold, and the other side of that demand is not perfectly elastic; the price moves until someone is paid enough to take it, and moves back as the demand is absorbed.

**Interview question 9.2 ★★ researcher, developer.**

How would you compute [flow-induced trading](#def-s1-flows-fit) for every US stock from public data, and with what lag?

**Solution of Interview question 9.2.**

Holdings from 13F and fund portfolio filings, flows from changes in fund assets net of returns, each dated by publication; [flow-induced trading](#def-s1-flows-fit) is the sum over funds of ownership share times flow. The lag is weeks to months: holdings up to 45 days after the quarter for 13F, flows monthly or quarterly.

**Interview question 9.3 ★★ researcher.**

Your flow signal predicts returns. How do you show it is not momentum in disguise?

**Solution of Interview question 9.3.**

Regress its long–short returns on momentum and style factors, sort within momentum deciles, and build the flow measure from flows residualised on fund style and past returns; a signal that survives is about flows.

**Interview question 9.4 ★★ trader.**

A large fund is known to be liquidating. How would you trade it, and what would you worry about?

**Solution of Interview question 9.4.**

Estimate what it must sell and how fast, trade against it only once its selling has pushed prices below value, and hold for the reversal. Worry about other front-runners, the fund selling the same names as others under stress, and whether the liquidation reflects information.

**Interview question 9.5 ★★ risk.**

What does common ownership by funds under stress mean for a stock’s risk?

**Solution of Interview question 9.5.**

Correlated selling: when those funds face outflows, the stock is sold with its other common holdings regardless of its own news, so its risk includes the funds’ flow risk.

**Interview question 9.6 ★★★ researcher.**

A stock is pushed by $\lambda F$ over a quarter and the push decays exponentially with half-life $h$ days afterwards. Write the expected return of a strategy that buys at the quarter’s end plus a lag of $L$ days and holds for $H$ days, and find when it is positive.

**Solution of Interview question 9.6.**

The remaining push $s$ days after the quarter is $\lambda F\,2^{-s/h}$. Buying (for $F < 0$) at $L$ and selling at $L + H$ earns $-\lambda F\,2^{-L/h}(1 - 2^{-H/h})$, positive for sold stocks, before costs $2c$; the trade pays when $|\lambda F|\,2^{-L/h}(1 - 2^{-H/h}) > 2c$. A long lag $L$ shrinks it exponentially, which is why the fire-sale book needs fast data.
