Strategies II: Volatility, Relative Value, Macro and the Bank Desks · Strategies
15FX Flow Strategies
At four in the afternoon London time the benchmark rates for currencies are fixed on the trades of a few minutes. Funds that must trade at the fix create flows that others can anticipate, from public information about what those funds hold. Melvin and Prins found that a month in which equity markets rise predicts currency depreciation before the month-end fix, as international equity investors rebalance their currency hedges. In public data from 1999 to 2026, when the S&P 500 had risen during a month, the dollar tended to fall over the month’s last two days. A trade that sold it then earned 11.4 basis points a month ( = 3.4). On this chapter’s synthetic market, trading ahead of an estimated hedge flow earns 12.2 basis points a month, a Sharpe ratio of 0.99, and the return grows with the flow’s estimated size. The build is firm.fxflows.
15.1 The fix and its flows
A benchmark fix (Book 2, chapter 17) sets a reference exchange rate from trades in a short fixing window. Asset managers value portfolios and settle hedges at it, so a large volume of orders is executed at the fix by design. Evans studied 21 currencies over a decade. Around the 4:00 p.m. WMR fix, price changes showed extraordinary volatility and negative serial correlation: prices pushed in the window tended to come back after it.
Definition 15.1 (Fix flow)
A fix flow is the net order to buy or sell a currency at a benchmark fix that arises from mandates rather than views: hedge rebalancing, index and portfolio rebalancing, and client orders executed at the fix; its size and direction can often be estimated in advance from public information.
The fix was also the scene of misconduct. On 12 November 2014 the Financial Conduct Authority fined five banks £1 114 918 000 in total for failings in G10 spot FX between 2008 and 2013. Their traders had shared confidential information about clients’ orders and attempted to manipulate fix rates, including the 4 p.m. WM/Reuters and ECB fixes, and to trigger clients’ stop-loss orders. Estimating a flow from public data and trading ahead of it is legal. Trading on knowledge of a client’s order, or colluding to move the fix, is not (chapter 29).
15.2 Month-end rebalancing
Definition 15.2 (Rebalancing-flow estimate)
A rebalancing-flow estimate is a forecast of the currency that hedged international investors must buy or sell at a rebalancing date, from the month’s asset returns, estimates of their holdings, and their hedge ratios.
The mechanism is arithmetic. A European investor who holds US equities and hedges half their dollar value is short dollars forward. If US equities rise 5% in the month, the holding is worth more and the hedge covers less than half. At month-end the investor sells more dollars forward to restore the ratio. Summed over investors, a rising US market means dollar sales at the month-end fix. A US investor hedging foreign equities does the reverse.
The public data show the pattern. Build a dollar index from six currencies’ daily noon New York rates (euro, sterling, yen, Swiss franc, Australian and Canadian dollars), and take the S&P 500’s return from the start of each month to three days before its end. Over 332 months from 1999 to 2026, the dollar’s change over the last two days correlates with that return at ( = ). Selling the dollar over those two days after a rising month, and buying it after a falling one, earned 11.4 basis points a month ( = 3.4) (Figure 15.1). Over the last three days the trade earned 7.4 ( = 1.9), and over the last five 13.7 ( = 2.8). The rates are taken at noon New York rather than at the London fix, so the test sees the pattern at one remove.
s2_fetch_monthend.firm.fxflows builds the mechanism explicitly (Listing 15.1). Over 360 synthetic months, foreign investors hold home equities hedged at a ratio of 0.5, and home investors hold foreign equities hedged at 0.3. The month-end flow moves the exchange rate in the last days before the fix by 12.2 basis points in standard deviation, and half of the move reverses after. The trader estimates the flow with 30% errors in the holdings and hedge ratios; the estimate still correlates with the truth at 0.94. Trading the estimated flow’s direction earned 12.2 basis points a month after costs ( = 5.4), a Sharpe ratio of 0.99. Fading the move in the days after month-end earned 10.2 ( = 4.9). By fifth of estimated flow size, the trade earned 0.2, 12.0, 17.7, 9.5 and 21.8 basis points against expected pushes of 1.3, 4.5, 7.7, 12.8 and 23.4 (Figure 15.2).
s2_fxflows.results.15.3 Central-bank behaviour
Definition 15.3 (Central-bank reaction trade)
A central-bank reaction trade positions for a central bank’s predictable response to its currency, such as intervention near levels it has defended before or reserve rebalancing after large moves, and fades or follows the move depending on the bank’s record and its capacity to act.
Central banks are the largest flow traders there are, and some are predictable. A bank that has intervened to stop a depreciation beyond some level may do so again. A reserve manager that rebalances its currency shares after a large move creates flows like a hedger’s. The trades are rare and the counterparty can print money. A trader who fades a central bank’s stated line is betting on its will to act and its resources to do so. The chapter gives no figures for this trade: intervention records are published late and in varied forms, and none is used here.
15.4 Trading predictable flows
In the fix window itself the synthetic flow pushes the rate by 30% of its month-end move, and 40% of that push reverses within the next half hour. A liquidity provider who takes the other side of the push earned 0.75 basis points a month after a 0.5 basis-point cost ( = 2.7), a Sharpe ratio of 0.50. That is the negative serial correlation Evans found, seen from the side that supplies liquidity rather than the side that demands it.
Three conditions make a flow trade legitimate and durable. The flow must be estimated from public information. It must be large relative to the market’s depth over the window. And the trader must be willing to be wrong on the months when the estimate misses, because the estimate is noisy and other traders may be on the same side.
15.5 Strategy files
Strategy file 15.1 — Month-end hedge-rebalancing flow
Who pays you, and why. International equity and bond investors who rebalance their currency hedges on a fixed schedule, whatever the price.
Instruments and venues. Spot and forwards in the major pairs, into the month-end fix.
Signal. The month’s equity (and bond) returns by country, times estimated holdings and hedge ratios.
Sizing and execution. In proportion to the estimated flow; out at or after the fix.
Costs. Spreads near the fix, when they widen.
How it dies. Hedgers move their rebalancing off the fix; too many traders anticipate the same flow.
Horizon, capacity, infrastructure. Days; flow estimates by country and asset.
Backtest honestly. Holdings and hedge ratios as they could be known then; fix-time prices.
Sources. Melvin and Prins (2015); public-data test: 11.4 basis points a month over the last two days, 1999–2026; this chapter: 12.2 in the synthetic market.
Strategy file 15.2 — Fix-window liquidity provision
Who pays you, and why. Orders that must execute at the fix and push the rate in the window.
Instruments and venues. Spot in the fixing window.
Signal. The window’s order imbalance as it forms.
Sizing and execution. Take the other side in the window; close within the hour.
Costs. Window spreads.
How it dies. Fix methodology changes that spread orders over a longer window.
Horizon, capacity, infrastructure. Minutes; low-latency spot access.
Backtest honestly. Tick data in the window; no knowledge of clients’ orders.
Sources. Evans (2018) on reversal around the fix; this chapter: 0.75 basis points a month.
Strategy file 15.3 — Central-bank intervention fade
Who pays you, and why. Speculators who push a currency against a central bank’s defended line and must retreat when it intervenes.
Instruments and venues. Spot and options in the pair.
Signal. Distance to past intervention levels; official statements.
Sizing and execution. Small, with options to bound the loss if the line breaks.
Costs. Option premiums.
How it dies. The bank gives up the line.
Horizon, capacity, infrastructure. Days to weeks.
Backtest honestly. Interventions as published, often weeks later.
Sources. No performance figure verified.
Strategy file 15.4 — Equity-performance FX hedge flow
Who pays you, and why. As for the month-end flow, measured from the relative performance of two equity markets.
Instruments and venues. The pair between the two markets’ currencies.
Signal. Home against foreign equity performance over the month.
Sizing and execution. Last days before month-end.
Costs. Spreads.
How it dies. Hedge ratios change; other flows dominate.
Horizon, capacity, infrastructure. Days.
Backtest honestly. Both markets’ closes before the trade.
Sources. Melvin and Prins (2015); no performance figure verified beyond this chapter’s tests.
15.6 Tutorial: four o’clock
Goal. Simulate month-end hedge flows, estimate them, trade ahead of them and provide liquidity at the fix; test the pattern on public data. End state: the numbers in the text and the two figures.
Flows and trades.
def simulate_months(cfg: FlowFXConfig | None = None) -> dict: cfg = cfg or FlowFXConfig() rng = np.random.default_rng(cfg.seed) n = cfg.months z = rng.standard_normal((n, 2)) home = cfg.eq_vol * z[:, 0] foreign = cfg.eq_vol * (cfg.eq_corr * z[:, 0] + np.sqrt(1 - cfg.eq_corr**2) * z[:, 1]) # foreign holders' hedges are short the home currency: a rise in home equities needs more of it sold flow = -cfg.hold_home * cfg.hedge_home * home + cfg.hold_foreign * cfg.hedge_foreign * foreign g = np.exp(cfg.est_error * rng.standard_normal((n, 2)) - 0.5 * cfg.est_error**2) est = -cfg.hold_home * cfg.hedge_home * g[:, 0] * home + cfg.hold_foreign * cfg.hedge_foreign * g[:, 1] * foreign push = cfg.impact * flow before = push + cfg.fx_vol * rng.standard_normal(n) after = -cfg.reversal * push + cfg.fx_vol * rng.standard_normal(n) fix_push = cfg.fix_share * push fix_after = -cfg.fix_reversal * fix_push + cfg.fix_noise * rng.standard_normal(n) return {"home": home, "foreign": foreign, "flow": flow, "est": est, "before": before, "after": after, "fix_push": fix_push, "fix_after": fix_after} def flow_trade(sim: dict, cfg: FlowFXConfig | None = None, scale: float | None = None) -> np.ndarray: """Hold the home currency in proportion to the estimated flow (sign if scale is None) over the last days; bp.""" cfg = cfg or FlowFXConfig() pos = np.sign(sim["est"]) if scale is None else sim["est"] / scale return 1e4 * pos * sim["before"] - np.abs(pos) * cfg.cost_bp def fix_liquidity(sim: dict, cfg: FlowFXConfig | None = None) -> np.ndarray: """Take the other side of the fix-window push, one unit, and close half an hour later; bp.""" cfg = cfg or FlowFXConfig() return 1e4 * -np.sign(sim["fix_push"]) * sim["fix_after"] - cfg.fix_cost_bpListing 15.1. Month-end flows from equity returns and hedge ratios, and the two trades. code/firm/fxflows/firm_fxflows.py Results.
def results(): cfg, s = months() p, f = flow_trade(s, cfg), fix_liquidity(s, cfg) q = np.quantile(np.abs(s["est"]), [0.2, 0.4, 0.6, 0.8]) g = np.digitize(np.abs(s["est"]), q) after = 1e4 * -np.sign(s["est"]) * s["after"] - cfg.cost_bp est_bp = np.abs(s["est"]) * cfg.impact * 1e4 return {"push_sd": float((cfg.impact * s["flow"]).std() * 1e4), "est_corr": float(np.corrcoef(s["est"], s["flow"])[0, 1]), "trade": {"mean": float(p.mean()), "t": _t(p), "sr": float(p.mean() / p.std(ddof=1) * math.sqrt(12))}, "quintiles": [{"est_bp": float(est_bp[g == i].mean()), "mean": float(p[g == i].mean())} for i in range(5)], "fade_after": {"mean": float(after.mean()), "t": _t(after)}, "fix": {"mean": float(f.mean()), "t": _t(f), "sr": float(f.mean() / f.std(ddof=1) * math.sqrt(12))}}Listing 15.2. The flow trade by estimated size, the fade and the fix trade. code/strategies-2/15-fx-flow-strategies/python/s2_fxflows.py - Run
s2_fetch_monthend.pyonce, thenresults()andfig_fxflows.py.
What to change next. Let hedge ratios drift over the years; add a second, uncorrelated flow (index rebalancing) that sometimes offsets the first; trade only the two fifths with the largest estimated flow.
15.7 Build: FX flows
Purpose. Month-end hedge flows from asset performance and hedge ratios, a fix-window push and reversal, and the trades around them.
Interface. FlowFXConfig(…), simulate_months(cfg), flow_trade(sim, cfg, scale), fix_liquidity(sim, cfg).
Rules. The flow’s sign follows the hedges; the estimate uses noisy holdings and hedge ratios; costs per trade.
Acceptance tests. code/firm/fxflows/tests/: the flow’s sign and size by hand; without noise the trades earn the push, or its reversal, less costs.
Stretch. Several currencies; bond hedges; index rebalancing.
Sources and further reading
- M. Melvin and J. Prins, “Equity hedging and exchange rates at the London 4 p.m. fix”, Journal of Financial Markets 22, 2015.
- M. D. D. Evans, “Forex trading and the WMR Fix”, Journal of Banking and Finance 87, 2018.
- Financial Conduct Authority, press release of 12 November 2014 on FX failings at five banks.
- Board of Governors H.10 exchange rates, via FRED; Cboe S&P 500 index history.
15.8 Exercises
Exercise 15.1 ★
A European investor holds $100 million of US equities hedged at 50%. US equities rise 5% in the month. How many dollars must it sell forward at month-end?
Solution
Solution of Exercise 15.1.
The holding is now $105 million and a 50% hedge needs $52.5 million sold forward against the $50 million already sold: it sells $2.5 million more.
Exercise 15.2 ★
A trade earns 11.4 basis points a month with = 3.4 over 332 months. What is its annual Sharpe ratio?
Solution
Solution of Exercise 15.2.
.
Exercise 15.3 ★
What was the average FCA fine per bank in November 2014?
Solution
Solution of Exercise 15.3.
.
Exercise 15.4 ★★
Why does a rising US equity market lead to dollar sales at month-end?
Solution
Solution of Exercise 15.4.
Foreign investors who hedge their US equities are short dollars in proportion to the holdings’ value; when the holdings rise, they must sell more dollars forward to keep the hedge ratio, and they do so at the month-end fix.
Exercise 15.5 ★★
Why is the public-data test only an approximation of the fix trade?
Solution
Solution of Exercise 15.5.
It uses noon New York rates, not the 4 p.m. London fix; a dollar index, not the pairs hedgers trade; and the S&P 500 alone, not the holdings and hedge ratios of the investors whose flows it proxies.
Exercise 15.6 ★★
What separates a legitimate flow trade from the conduct the FCA fined?
Solution
Solution of Exercise 15.6.
Information: a legitimate trade uses public data (market returns, published holdings) to estimate a flow; the conduct fined in 2014 used confidential knowledge of clients’ orders and collusion to move the fix and trigger stop-losses.
Exercise 15.7 ★★★
Coding. Rerun with FlowFXConfig(est_error=1.0). How do the estimate’s correlation with the true flow and the trade’s return change?
Solution
Solution of Exercise 15.7.
The estimate’s correlation with the true flow falls from 0.94 to 0.56, but the trade still earns 10.9 basis points a month, a Sharpe ratio of 0.87: the flow’s direction, which the market returns decide, matters more than its exact size, which the holdings and hedge ratios decide.
Exercise 15.8 ★★★
Find the flaw. “The flow trade works in every fifth of estimated size, so we should size it equally every month.”
Solution
Solution of Exercise 15.8.
The expected push grows with the estimated flow (1.3 basis points in the smallest fifth, 23.4 in the largest), and the smallest fifth earned 0.2 after costs. Sizing in proportion to the estimate puts the risk where the expected return is.
15.9 Problem: Four O’Clock
Problem 15.1
Weekend problem — predictable FX flows
The chapter’s synthetic flows, public data and the public record.
Part I — The fix.
- What is a benchmark fix, and why is so much traded at it?
- What did Evans find around the fix?
- What did the FCA find in 2014?
- Define a fix flow.
Part II — Month-end.
- Explain the hedge-rebalancing flow.
- What did Melvin and Prins find?
- Give the public-data test’s results.
- Define a rebalancing-flow estimate.
Part III — The synthetic market.
- Describe the synthetic flows and the trader’s estimate.
- Give the flow trade’s return and Sharpe ratio.
- How does the return vary with the estimated size?
- What does the liquidity provider earn in the fix window?
Part IV — The verdict.
- State the named result: the month-end flow trade’s return against the estimated flow size.
- What does fading after month-end earn?
- Define a central-bank reaction trade and its risk.
- What makes a flow trade legitimate?
- How would you backtest the month-end trade honestly?
- Which strategy file needs the fastest execution?
- How does this chapter relate to chapter 5’s rebalancing flows?
- In one sentence: who pays the flow trader?
Solution
Solution of Problem 15.1.
- A reference rate from trades in a short window; portfolios are valued and hedges settled at it.
- Extraordinary volatility and negative serial correlation around it.
- Information sharing on clients’ orders and attempts to manipulate fixes and trigger stop-losses; £1.1 billion of fines.
- Mandated net orders at the fix, estimable in advance.
- Hedged investors restore their hedge ratios after the month’s asset returns.
- Equity appreciation over the month predicts currency depreciation before the month-end fix.
- Over the last two days, correlation ( = ) and a trade of 11.4 basis points a month ( = 3.4).
- A forecast of the hedgers’ currency trades from returns, holdings and hedge ratios.
- Hedge ratios 0.5 and 0.3, a push of 12.2 basis points in standard deviation, half reversed; estimates with 30% errors.
- 12.2 basis points a month, Sharpe ratio 0.99.
- From 0.2 in the smallest fifth to 21.8 in the largest.
- 0.75 basis points a month after costs, Sharpe ratio 0.50.
- Named result. The month-end flow trade earns 12.2 basis points a month ( = 5.4), rising with the estimated flow from 0.2 in the smallest fifth to 21.8 in the largest; the public-data version earned 11.4 ( = 3.4).
- 10.2 basis points a month ( = 4.9).
- Positioning for a central bank’s predictable response; the bank can outlast any trader, or give up its line.
- Public information, a flow large against depth, and acceptance of the months the estimate misses.
- Holdings and hedge ratios known then, fix-time prices, costs.
- Fix-window liquidity provision.
- Both trade flows that follow from rules applied to past returns: leveraged products’ rebalancing there, hedgers’ here.
- Investors whose mandates make them trade at a fixed time, whatever the price.
15.10 Interview questions
Interview question 15.1 ★ trader
What is the WM/Reuters 4 p.m. fix, and why does it matter?
Solution
Solution of Interview question 15.1.
The benchmark exchange rates set from trades in a short window around 4 p.m. London; portfolios, indices and hedges are valued and settled at it, so large mandated orders concentrate there.
Interview question 15.2 ★★ researcher
How would you estimate month-end FX hedge flows?
Solution
Solution of Interview question 15.2.
From each market’s returns over the month, estimates of foreign holdings by country (from public statistics and fund filings) and typical hedge ratios by investor type; net the flows across investor groups and scale by the market’s depth at the fix.
Interview question 15.3 ★★ trader
A client asks you to buy $2 billion at the fix. What may you do before the fix, and what may you not?
Solution
Solution of Interview question 15.3.
Execute the client’s order as agreed, with its interests first; hedge the desk’s own risk as allowed by the firm’s policy. Never share the order, trade ahead of it for the desk’s benefit, or coordinate with others to move the fix.
Interview question 15.4 ★★ risk
What are the risks of a month-end flow book?
Solution
Solution of Interview question 15.4.
The estimate is wrong in direction; other flows dominate; crowding by others trading the same estimate; spreads at the fix; a news event near month-end.
Interview question 15.5 ★★ developer
Design a monitor for trading around benchmark fixes that a compliance team would accept.
Solution
Solution of Interview question 15.5.
Record every order and trade with timestamps around fixes; compare desk positions with client orders at the fix; flag trades ahead of large client orders, messages mentioning client flows, and repeated moves in the window.
Interview question 15.6 ★★★ researcher
With holdings , hedge ratio and an asset return , show that restoring the hedge requires a currency trade of , and find the estimate’s error when and are each off by a factor .
Solution
Solution of Interview question 15.6.
With holdings worth after the month, the hedge needed is against held: a trade of . If both and are overestimated by , the estimate is , an error of about in proportion; its sign is right whenever ’s is.