Anticipating Currency Meltdowns in Emerging Markets
A hands-on approach to detecting currency regime changes, and what actually happens when you trade around them.
Anticipating Currency Meltdowns in Emerging Markets
A hands-on approach to detecting currency regime changes, and what actually happens when you trade around them.

Emerging-market carry, borrow cheap, hold a higher-yielding currency, collect the spread, is the closest thing FX markets have to a free lunch, and everyone who has traded it knows the catch. It pays out in small, steady installments for months, then a currency regime breaks and hands the whole thing back at once. The natural fix is to detect the break and step aside before it happens. This piece builds three different ways to do that, a Gaussian Mixture Model, a Hidden Markov Model, and a volatility-managed scaling rule, and tests all three honestly against a seven-currency emerging-market carry portfolio. The honest answer is not the one a reader hoping for an edge would want, and the reason why turned out to be more interesting than the edge would have been.
For readers who don’t live in FX: carry is the return earned from the interest-rate gap between two currencies, separate from any price move. A regime-detection method sorts time into “calm” and “turbulent” periods from statistical patterns, so a trading rule can size up in calm periods and down in turbulent ones.
The Setup
Seven currencies, equal-weighted, funded in dollars: Turkey, South Africa, Mexico, India, Argentina, Colombia, and Chile. That is a deliberately harder set than the usual carry-trade sample. It includes two of the most-discussed boom-and-bust currencies anywhere in emerging markets, the Turkish lira and the Argentine peso, both of which spent the sample period losing the overwhelming majority of their value against the dollar.
The data underneath is monthly FX rates and daily policy interest rates for each currency, spanning 2002 through mid-2025. Each currency’s monthly excess return follows the standard academic construction, the log excess-return framing used by Lustig and Verdelhan and later by Menkhoff, Sarno, Schmeling and Schrimpf:
rx = (i_local − i_usd) − Δs
where i_local and i_usd are the monthly-equivalent policy rates and Δs is the log change in the exchange rate. Positive when the rate advantage survives depreciation, negative when depreciation eats it alive.
Run standalone, before any regime overlay, the seven currencies behave the way twenty years of carry-trade literature says they should. India posts the best static Sharpe ratio (0.33) on comparatively high rates and a comparatively stable rupee. South Africa and Colombia follow (0.22, 0.14). Argentina comes in slightly negative (−0.06) and Turkey is essentially flat (0.04) despite carrying some of the highest nominal rates in the sample, a well-documented phenomenon in its own right: enormous interest-rate spreads get eaten by depreciation just as enormous.

Figure 1. The lira lost 1,585% of its dollar value and the peso lost 13,807% between 2015 and mid-2025. Not crashes with a recovery. A near-continuous slide. This is the backdrop every regime method below had to work against.
Three Ways to Detect the Turn
All three methods see the same two monthly features: the trailing 3-month volatility of the equal-weighted carry portfolio, and the trailing 3-month average cross-sectional dispersion across the seven currencies. All three are fit only on 2002–2014 and tested only on 2015–2025, roughly a decade the models never touched during fitting.
Method 1: Gaussian Mixture Model. Two clusters, no memory. Every month is classified independently based on how it compares statistically to “calm” and “turbulent” months in the training data.
Method 2: Hidden Markov Model. Same two clusters, with a transition matrix layered on top, so the model also learns how sticky each regime tends to be, a turbulent month is more likely to be followed by another turbulent month than the memoryless GMM assumes.
Method 3: Volatility-managed scaling. No discrete regime at all. Following Moreira and Muir’s result that scaling exposure inversely to trailing realized volatility improves risk-adjusted returns across a wide range of factors, including currency carry, position size is continuously target_vol / trailing_vol, capped at 2x.
The Result
Out-of-sample, 2015–2025: always-on carry posts a Sharpe ratio of −0.21. Every regime-gated variant does worse on point estimate. GMM-gated: −0.31. HMM-gated: −0.26. Volatility-managed: −0.30.
Four negative numbers is not, on its own, an interesting finding, emerging-market carry has had a rough decade and that alone would explain a weak Sharpe ratio across the board. What is worth checking is whether the ranking between the four variants means anything, or whether 126 out-of-sample months is too short a window to trust it. A block bootstrap answers that directly: 2,000 resamples in 6-month blocks, long enough to preserve the autocorrelation carry returns actually have, recomputing all four Sharpe ratios and every head-to-head comparison on the same matched draws.

Figure 2. Every distribution sits mostly below zero. Always-on beats volatility-managed in 87% of resampled draws, beats the Gaussian Mixture Model in 67%, and beats the Hidden Markov Model in 55%.
That is real, if not overwhelming, evidence that ignoring the regime signal entirely would have been the better choice over this decade, not a coin flip dressed up as a result. The next question is why, and the answer turned out to be specific enough to act on.
The Mechanism: One Portfolio, Two Different Currencies, Two Different Failures
Split the out-of-sample carry return by which regime the Gaussian Mixture Model assigned that month, separately for each currency:

Figure 3. Argentina is the textbook case: +1.03% a month when the model says calm, −1.18% when it says turbulent. Turkey loses money in both regimes. South Africa and Colombia actually did better in “turbulent” months than “calm” ones, the opposite of what gating assumes.
Argentina is exactly what a regime-aware carry strategy is built for. Its damage concentrates in identifiable turbulent stretches, and sitting those out preserves the calm-month gains almost intact. Turkey is a different animal. Its carry losses are negative in both regimes, because a volatility filter is built to catch short, sharp dislocations, and the lira’s problem over this decade was not a dislocation. It was a trend. A currency depreciating in an orderly, sustained way does not necessarily spike the short-term volatility and cross-sectional dispersion features this detector watches, so there is no calm period to retreat to that is not itself losing money.
South Africa and Colombia add a third wrinkle: their turbulent-labeled months were, in this sample, the profitable ones, inverting the assumption the entire gating exercise rests on. Pool all seven currencies into one portfolio-level signal, and three genuinely different stories average into a single number that captures none of them well.
A direct check on the “two extreme currencies are driving this” hypothesis: strip Turkey and Argentina out and run the same always-on carry on the remaining five. The Sharpe ratio goes from −0.21 to −0.03, still unattractive, but the sharply negative result belongs almost entirely to the two currencies undergoing structural rather than episodic depreciation.
What This Doesn’t Show
“Regime detection doesn’t work.” Too broad a claim for what the data actually supports. It works precisely as designed for Argentina. What fails is applying one pooled, portfolio-level signal to currencies whose depreciation has fundamentally different character, a volatility filter cannot rescue a strategy from a trend it was never built to see.
“The Hidden Markov Model should have done better than the Gaussian Mixture Model.” The natural assumption is that adding temporal persistence, modeling how regimes evolve rather than just what they look like, should be a strict improvement. It was not, at least not by much, in this sample. Seventy fitting periods worth of months is a small amount of data for estimating a transition matrix, and the extra parameters may cost as much in estimation noise as they gain in realism.
“Seven currencies is a small, possibly unrepresentative universe.” Correct, and worth stating plainly rather than hiding. Turkey and Argentina are extreme by construction, chosen because they are among the most-discussed emerging-market currencies of the past decade, and their inclusion visibly drags the portfolio-level result. The five-currency robustness check above is the honest way to see how much.
The Verdict
A pooled, volatility-based regime signal did not improve a seven-currency emerging-market carry trade over this decade, and a block bootstrap says that is more likely a real result than sampling noise. The reason is not that regime detection is a bad idea. It is that a single signal, built to catch short volatility spikes, was asked to protect against two currencies experiencing entirely different kinds of trouble at once, an episodic crisis it caught cleanly, and a sustained structural decline it never had a chance of seeing. The fix is not a better algorithm. It is not asking one signal to do a job that belongs to seven.
Methods & Reproducibility
Data:
- Monthly FX rates from Yahoo Finance (local currency per USD): https://github.com/fedeglan/quant-finance-notebooks/blob/main/Datasets/fx_rates.parquet.
- Daily policy interest rates, seven emerging-market currencies (Turkey, South Africa, Mexico, India, Argentina, Colombia, Chile) from BIS: https://github.com/fedeglan/quant-finance-notebooks/blob/main/Datasets/interest_rates.parquet
Carry construction: rx = (i_local − i_usd) − Δlog(spot), monthly holding period, equal-weighted across the seven currencies.
Regime methods: 2-component Gaussian Mixture Model and 2-state Gaussian Hidden Markov Model, both fit on standardized trailing 3-month portfolio volatility and trailing 3-month cross-sectional dispersion, training window 2002–2014. Volatility-managed weight equals target volatility divided by trailing 3-month volatility, capped at 2x.
Backtest: One-month position lag, transaction cost charged on changes in exposure, tested exclusively on 2015–2025 data none of the models trained on, cost sensitivity checked from 0 to 30 basis points.
Adversarial check: Block bootstrap, 6-month blocks, 2,000 resamples, paired across all four variants on identical draws, for confidence intervals and head-to-head win probabilities.
Full reproduction notebook: https://github.com/fedeglan/quant-finance-notebooks/blob/main/Code/Carry%20Trade%20with%20Regime%20Shift.ipynb
Selected References
- Lustig, H. & Verdelhan, A. (2007). “The Cross Section of Foreign Currency Risk Premia and Consumption Growth Risk.” American Economic Review, 97(1), 89–117.
- Menkhoff, L., Sarno, L., Schmeling, M. & Schrimpf, A. (2012). “Carry Trades and Global Foreign Exchange Volatility.” Journal of Finance, 67(2), 681–718.
- Moreira, A. & Muir, T. (2017). “Volatility-Managed Portfolios.” NBER Working Paper 22208.
- Politis, D.N. & Romano, J.P. (1994). “The Stationary Bootstrap.” Journal of the American Statistical Association, 89(428), 1303–1313.
메타데이터
- post_id
- eab408abc767
- slug
- anticipating-currency-meltdowns-in-emerging-markets-eab408abc767
- url
- https://medium.com/@fglancszpigel/anticipating-currency-meltdowns-in-emerging-markets-eab408abc767
- canonical_url
- https://medium.com/@fglancszpigel/anticipating-currency-meltdowns-in-emerging-markets-eab408abc767
- author_url
- https://medium.com/@fglancszpigel
- status
- ok
- fetched_at
- 2026-08-15 14:08:13