Nine Centuries of Exchange Rates: What 240 Countries and 900 Years of Data Reveal
In 1252, Florence minted the gold florin. Within decades it became the dominant trade currency of medieval Europe. Merchants in Bruges, Venice, and Constantinople quoted prices against it. By the 1400s, the florin’s dominance had faded, replaced by the Venetian ducat. Then the Spanish real. Then the Dutch guilder. Then sterling. Then the dollar. Each transition involved devaluations, defaults, and crises that ruined anyone holding the wrong currency at the wrong time.
We have data on all of this. Not estimates. Actual recorded exchange rates, starting from 1106.
I assembled forex-centuries, an open dataset combining 13 sources into a unified collection of exchange rates spanning 920 years and approximately 240 countries. The goal: provide the raw material for studying how currencies behave over centuries, not decades.
#The dataset
| Source | Period | Description |
|---|---|---|
| MEMDB Spufford | 1106-1500 | 13,197 medieval exchange quotations across 521 places |
| MEMDB Metz | 1350-1800 | 50,559 records from the Lower Rhine region |
| Clio Infra | 1500-2013 | Exchange rates vs GBP and USD, 181 countries |
| MeasuringWorth | 1791-2025 | 40 currencies vs USD, carefully curated for continuity |
| Bank of England | 1791-2016 | UK millennium dataset |
| JST Macrohistory | 1870-2017 | 18 advanced economies, 59 macro variables |
| Sveriges Riksbank | 1900-2026 | 53 SEK bilateral series, 295,000 observations |
| IRR Regimes | 1940-2021 | De facto exchange rate regime classifications, ~190 countries |
| IMF IFS | 1955-2025 | 173 currencies, monthly, 158,000 observations |
| BIS | 1957-2026 | Bilateral and effective rates, ~190 economies, 2.66 million rows |
| World Bank | 1960-present | Official rates, all member countries |
| Global Macro Database | 1960-2024 | 243 countries, USD FX and REER |
| FRED Daily | 1971-2025 | 23 daily currency pairs and 2 USD indices |
The longest individual series is the United States at 526 years (1500-2025). The United Kingdom has 236 years of continuous data (1789-2025). The medieval data covers exchange quotations across Florence, Bruges, Venice, London, and hundreds of other cities across Europe, Byzantium, and North Africa.
All derived data uses a consistent quoting convention: foreign currency per 1 USD. The build pipeline normalizes, deduplicates, and cross-validates across sources. Where sources overlap, MeasuringWorth takes priority (carefully curated for continuity), then Clio Infra, then the Global Macro Database.
#What fat tails mean
Before diving into the results, a brief primer on the key concepts. If you have read the companion article on crash detection, you can skip this section.
#Log returns
Throughout this article, all return calculations use log returns (also called continuously compounded returns). If $P_t$ is the exchange rate at time $t$ and $P_{t-1}$ is the rate at the previous period, the log return is:
$$r_t = \ln!\left(\frac{P_t}{P_{t-1}}\right)$$
Log returns are the standard choice for financial analysis because they are additive over time (you can sum daily log returns to get the yearly return) and symmetric (a +10% followed by a -10% move doesn’t leave you back where you started in simple percentage terms, but log returns account for this correctly).
#Excess kurtosis
Kurtosis measures how much of a distribution’s weight sits in the tails versus near the center. A normal (Gaussian) distribution has a kurtosis of 3. Excess kurtosis subtracts that baseline:
$$\text{Excess kurtosis} = \frac{\mathbb{E}!\left[(X - \mu)^4\right]}{\left(\mathbb{E}!\left[(X - \mu)^2\right]\right)^2} - 3$$
where $\mu$ is the mean and $\mathbb{E}$ denotes the expected value. If excess kurtosis is 0, the distribution has Gaussian-like tails. If it is positive, the tails are heavier: extreme events happen more often than a bell curve predicts. An excess kurtosis of 5 means the extreme observations are far more frequent than normal. An excess kurtosis of 4,110, as we will see for Sri Lanka, means the distribution looks nothing like a Gaussian.
#Tail index and power laws
Many financial distributions follow a power law in the tails. The probability of seeing a value larger than $x$ falls as:
$$P(X > x) \sim x^{-\alpha}$$
The exponent $\alpha$ is the tail index. It tells you how heavy the tail is:
- $\alpha < 2$: Infinite variance. The distribution is so fat-tailed that the variance does not converge no matter how many observations you collect. Computing a standard deviation is meaningless because the number you get depends on your sample size.
- $\alpha$ between 2 and 4: Finite variance but infinite kurtosis. Fat tails, but the standard deviation at least converges. This is where many financial assets live.
- $\alpha > 4$: Moderate tails. Still fatter than Gaussian, but standard tools become somewhat reasonable.
We estimate $\alpha$ using the Hill estimator. Sort the $n$ observations in descending order, take the $k$ largest, and compute:
$$\hat{\alpha} = k \left( \sum_{i=1}^{k} \ln \frac{X_{(i)}}{X_{(k)}} \right)^{-1}$$
where $X_{(1)} \geq X_{(2)} \geq \ldots$ are the order statistics. The choice of $k$ matters: too small and the estimate is noisy; too large and you include observations from the body of the distribution. A Hill plot ($\alpha$ versus $k$) helps find the stable region.
#Annualized volatility
Annualized volatility is the standard deviation of returns scaled to one year. If $\sigma_d$ is the standard deviation of daily log returns, the annualized figure is:
$$\sigma_{\text{ann}} = \sigma_d \times \sqrt{252}$$
where 252 is the approximate number of trading days per year. This gives a single number summarizing “how much does this currency move in a typical year.” EUR/USD at 10% annualized volatility means a one-standard-deviation annual move is about 10 cents on the dollar. Venezuela at 380% means the currency can lose most of its value in a single year.
#3-sigma tail ratio
The 3-sigma tail ratio compares how often extreme events actually occur versus how often a Gaussian would predict. Under a normal distribution, returns beyond 3 standard deviations from the mean should happen about 0.27% of the time. If the actual frequency is 1.08%, the tail ratio is 4x. A ratio above 1 means fatter tails than normal; a ratio below 1 means thinner tails (which can happen in pegged currencies that suppress small moves but concentrate risk in huge jumps).
#Daily data (1971-2025)
The central finding from running fatcrash on this data: fat tails are universal across all currencies, all time scales, and all centuries.
Every one of the 23 FRED daily currency pairs has heavier tails than a Gaussian distribution. For most floating pairs, three-sigma events happen about 3 to 6 times more often than a normal distribution predicts. Pegged and tightly managed pairs are a special case: they can show tail ratios below 1 even with extreme kurtosis because daily returns are compressed near zero. Even EUR/USD, the most liquid pair in the world, has excess kurtosis of 2.5 and 4x too many tail events.
The most extreme daily tails:
| Currency | Ann. Vol | Excess Kurtosis | 3-sigma Tail Ratio |
|---|---|---|---|
| LKR/USD | 11.7% | 4,110 | 2.98x |
| CNY/USD | 8.2% | 3,846 | 0.53x |
| VEF/USD | 380.7% | 2,560 | 0.28x |
| THB/USD | 8.7% | 279 | 5.32x |
| HKD/USD | 3.2% | 261 | 5.09x |
| KRW/USD | 10.8% | 140 | 4.37x |
Sri Lanka (LKR) has an excess kurtosis of 4,110. For context, a Gaussian distribution has excess kurtosis of 0. The Student’s t-distribution with 3 degrees of freedom, often used as a “fat-tailed alternative” in finance, has excess kurtosis of infinity (undefined). LKR’s distribution is empirically closer to the Student’s t than to the Gaussian.
Note the paradox in the tail ratio column: CNY and VEF have enormous kurtosis but tail ratios below 1. This happens because these currencies are pegged or managed. Their daily returns are almost always exactly zero (the peg holds), so the standard deviation is very small. The rare days when the peg breaks produce moves that are extreme in absolute terms but may not exceed 3 of those tiny standard deviations as often as you would expect, because the distribution is a spike at zero with a few catastrophic outliers rather than a smooth bell curve. The kurtosis captures this shape; the simple tail ratio can miss it.
#Yearly data (1791-2025)
On yearly timescales, the tails are even more extreme. Using MeasuringWorth data:
| Country | Years | Excess Kurtosis | Worst Year |
|---|---|---|---|
| Mexico | 234 | 83.7 | -86% |
| Austria | 234 | 49.9 | -100% |
| Israel | 234 | 46.7 | -100% |
| Germany | 234 | 37.8 | -100% |
| Peru | 234 | 36.2 | -100% |
| Argentina | 234 | 19.9 | -100% |
| Brazil | 234 | 13.3 | -100% |
| United Kingdom | 234 | 5.2 | -33% |
Germany’s kurtosis of 37.8 reflects a single year: 1923, when the mark lost effectively all its value. But this is exactly the point. A model that treats 1923 as an outlier to be excluded is a model that doesn’t understand what kind of distribution it is dealing with. In a fat-tailed distribution, the extreme observation is the distribution. Remove it and you are estimating the wrong thing. As Taleb (2020) emphasizes, the sample mean and sample variance of a power-law distribution are dominated by the largest observation. That single observation contains more information about the tail than all the other observations combined.
#Five centuries of tail estimates (1500-2013)
Using fatcrash’s Hill estimator on the Clio Infra data (1500-2013, 138 countries with 50+ years of data):
| Tail regime | Countries | Percentage |
|---|---|---|
| $\alpha < 2$ (infinite variance) | 98 | 71% |
| $\alpha$ 2-4 (fat tails, finite variance) | 37 | 27% |
| $\alpha > 4$ (moderate tails) | 3 | 2% |
71% of countries have exchange rate distributions where the variance does not converge. The median tail index $\alpha$ across all 138 countries is 1.57. For these currencies, computing a standard deviation is meaningless. The number you get depends on how many observations you have and which ones you happened to include. Add one more observation and the “standard deviation” can double.
This is not a marginal statistical issue. It means the foundational assumption behind Modern Portfolio Theory, CAPM, Black-Scholes, and every VaR model — that returns have a finite, estimable variance — is empirically false for the majority of the world’s currencies.
#The peg paradox
The most counterintuitive finding: currencies with the lowest daily volatility have some of the highest excess kurtosis.
HKD/USD has 3.2% annualized volatility (barely moves) but excess kurtosis of 261. CNY/USD has 8.2% volatility but excess kurtosis of 3,846. Freely floating currencies like GBP/USD, with 10.1% volatility, have excess kurtosis of 5.4.
A peg compresses daily volatility to near zero. The central bank intervenes to keep the rate fixed, absorbing shocks with reserves instead of letting the price adjust. But when the peg breaks — when the central bank runs out of reserves or loses the political will to defend it — the move is catastrophic. The distribution is a spike at zero with rare but enormous outliers. This is exactly the kind of distribution that Value at Risk (VaR) models fail on. VaR estimates the loss you won’t exceed with some high probability (say 99%) on a given day. It says risk is low (because daily moves are tiny). The true risk is high (because the peg can snap at any time, and when it does, the loss is 10 to 50 standard deviations).
The regime data from Ilzetzki, Reinhart, and Rogoff (2019), covering 1940-2021, confirms this pattern:
| Regime | N Countries | Volatility | Excess Kurtosis |
|---|---|---|---|
| Free float | 9 | 10.8% | 0.8 |
| Managed float | 33 | 56.7% | 129.3 |
| Crawling peg | 31 | 53.6% | 139.7 |
| Peg | 37 | 59.5% | 132.9 |
| Freely falling | 12 | 225.1% | 16.0 |
Free-floating currencies have low kurtosis (0.8) because the market absorbs shocks continuously through small daily moves. Pegged and managed currencies suppress daily volatility but accumulate stress that releases in catastrophic jumps, producing kurtosis 160 times higher than free floats.
This is Taleb’s fragility argument in data. Suppressing volatility does not reduce risk. It concentrates risk into rare, large events. The peg creates an illusion of stability that makes the eventual break more damaging, both financially and psychologically, because nobody is positioned for it. Small, frequent adjustments are antifragile: each one releases pressure and provides information. Rigid pegs are fragile: they hide information until the system snaps.
The “freely falling” category is instructive too. These are currencies in hyperinflation or free-fall collapse. They have the highest volatility (225%) but moderate kurtosis (16.0). When a currency is already collapsing every day, there is no pent-up pressure left. The tails are fat but not as extreme as a peg because the large moves are continuous rather than sudden.
#Every currency loses against gold
Using gold price data from DataHub and MeasuringWorth cross-referenced with exchange rates, we computed the cumulative gold purchasing power retained by major currencies.
The British pound has data going back to 1257. For roughly 600 years (1257 to the early 1900s), the pound maintained its gold purchasing power relatively well, fluctuating within a band. The gold standard enforced discipline: because the pound was defined as a fixed weight of gold, debasement required a deliberate political act (reducing the gold content of coins, or suspending convertibility). Then the 20th century happened: two world wars, the end of the gold standard, and continuous inflation. The pound has lost the vast majority of its gold purchasing power since 1900.
Every other currency follows the same arc, just faster. The dollar has lost most of its gold value since 1789. The yen, rupee, and most Latin American currencies show steeper declines. No currency in the dataset has gained gold purchasing power over its full history.
This is not an argument for or against the gold standard. It is an empirical observation. Over multi-century timescales, fiat currencies consistently debase against a fixed-supply asset. The rate of debasement varies enormously. The direction does not. Reinhart and Rogoff (2009) document this pattern systematically across eight centuries: governments debase currencies to finance wars, bail out banks, and cover deficits. The mechanism changes (coin clipping in the medieval period, money printing in the modern era) but the outcome is the same.
The dataset includes monthly gold inflation data for 174 currencies from 1940 to 2025 and yearly data for 243 countries from 1257 to 2025.
#Cross-currency correlations
The daily correlation matrix reveals clear geographic and economic clusters:
- European cluster: GBP, CHF, NOK, SEK, DKK, EUR move together, reflecting economic integration and policy coordination.
- Asian managed currencies: SGD, MYR, THB form a tight cluster. These currencies are managed with reference to trade-weighted baskets that include each other.
- Asian pegged: CNY, HKD, LKR are nearly uncorrelated with everything else. Their pegs decouple them from market forces most of the time.
- Commodity/Antipodean: CAD, AUD, NZD cluster together, driven by commodity export exposure.
- Latin America: BRL and MXN show some correlation but are more idiosyncratic, driven by country-specific crises.
- Venezuela: VEF is essentially uncorrelated with all other currencies. Hyperinflation creates noise that overwhelms any trade or policy signal.
For portfolio construction, the implication is that holding multiple European currencies does not diversify FX risk much. Holding a European and an Asian currency does. But the “low correlation” of pegged currencies is misleading. In a global crisis, correlations spike as all pegs come under simultaneous pressure. The correlations that matter most are the ones you observe in the worst 1% of days, not the average.
#Medieval exchange data
The oldest records in the dataset come from the Medieval and Early Modern Data Bank (MEMDB). Spufford’s collection contains 13,197 exchange quotations from 521 places across Europe, Byzantium, and North Africa, from 1106 to 1500. Metz’s collection adds 50,559 records from the Lower Rhine region, from 1350 to 1800, documenting trades in Reichstaler, ducats, marks, and dozens of other coin types.
This data matters for a specific reason. Modern exchange rate theory is built on a sample that starts, at earliest, in 1971 (the end of Bretton Woods). Occasionally researchers go back to 1945 or 1900. That gives us, at best, 125 years of data in a world where currency systems have existed for nearly a millennium.
The medieval data shows that the basic patterns we observe today — fat tails, sudden devaluations, contagion across trading partners — are not artifacts of modern fiat money or floating exchange rates. The Florentine banking crises of the 1340s, when the Bardi and Peruzzi banks collapsed after England defaulted on war debts, caused exchange rate disruptions across Europe that look structurally similar to modern currency crises. Different institutions, same dynamics. The tail behavior is not a feature of the post-1971 monetary regime. It is a feature of exchange rates as such.
Denzel (2010) documents this pattern further in his Handbook of World Exchange Rates, 1590-1914, showing that the early modern period had its own currency crises, debasements, and contagion episodes. The mechanisms of medieval and early modern exchange rate volatility (coin debasement, sovereign default, banking panic) differ from modern ones (central bank policy, capital flows, speculative attacks), but the statistical signature is the same: power-law tails and clustered extremes.
#Why this data matters
Most financial research operates on 20 to 50 years of data. This is a problem for studying events that happen once every 30 to 80 years. If you have 40 years of data and the event you care about has a 2% annual probability, you might see it once, or not at all. Your sample is too short to estimate the tail.
With 500 years of data across 138 countries, we have a much larger sample of extreme events. The Clio Infra data alone contains dozens of hyperinflations, currency collapses, and regime transitions. Combined with the FRED daily data, we can study the same phenomenon at both high frequency (daily) and long duration (centuries).
Three things become clear with this much data:
-
Standard risk models underestimate tail risk by orders of magnitude. When 71% of countries have infinite-variance exchange rate distributions ($\alpha < 2$), any model that assumes finite variance (CAPM, Black-Scholes, mean-variance optimization) is systematically wrong. It does not give conservative estimates. It gives estimates of the wrong quantity. You cannot approximate a distribution with $\alpha = 1.5$ using a Gaussian any more than you can approximate a Cauchy distribution with a Gaussian. The moments do not exist.
-
Stability is not safety. Pegged currencies look stable until they are not. Managed currencies look stable until they are not. Low volatility regimes have the highest kurtosis. The absence of small crises is often the precondition for a large one. This pattern — suppressed volatility leading to explosive tail events — appears in every subset of the data: daily, yearly, medieval, modern, developed, developing.
-
Currency debasement is the norm, not the exception. Over multi-century timescales, every currency in the dataset loses purchasing power against gold. The rate varies enormously (some countries lose 99% in a decade, others take centuries), but the direction is uniform. Any financial plan that assumes a stable currency over a 30-year horizon is making an assumption that contradicts 900 years of data.
#Code and data
The full dataset and build pipeline are open source:
github.com/unbalancedparentheses/forex-centuries
The repository includes:
- Raw data from all 13 sources
- An 8-step ETL pipeline that normalizes, deduplicates, and cross-validates
- Derived datasets: unified yearly panel (24,656 rows, 243 countries), normalized daily rates (271,228 rows), log returns, rolling volatility, regime classifications, gold inflation for 174 currencies, correlation matrices
- 7 charts: fat-tail histograms, peg paradox scatter, tail ratio bars, rolling volatility, correlation heatmap, gold erosion, regime timeline
- Data validation with outlier detection and cross-source consistency checks
- Quickstart scripts (pure Python and pandas versions)
The companion crash detection toolkit: github.com/unbalancedparentheses/fatcrash
#References
- Spufford, P. (1986). Handbook of Medieval Exchange. Royal Historical Society.
- Metz, R. (1990). Geld, Wahrung und Preisentwicklung. (Rhine region, 1350-1800).
- Denzel, M. (2010). Handbook of World Exchange Rates, 1590-1914. Ashgate.
- Reinhart, C. and Rogoff, K. (2009). This Time Is Different: Eight Centuries of Financial Folly. Princeton University Press.
- Ilzetzki, E., Reinhart, C. and Rogoff, K. (2019). Exchange Arrangements Entering the 21st Century: Which Anchor Will Hold? Quarterly Journal of Economics, 134(2).
- Jorda, O., Schularick, M. and Taylor, A. (2017). Macrofinancial History and the New Business Cycle Facts. NBER Macroeconomics Annual.
- Thomas, R. and Dimsdale, N. (2017). A Millennium of UK Data. Bank of England.
- Officer, L. and Williamson, S. MeasuringWorth.
- Taleb, N. N. (2020). Statistical Consequences of Fat Tails. STEM Academic Press.