The Global Buffett Indicator
The "Buffett Indicator" is a widely respected valuation metric famously endorsed by Warren Buffett, who once called it "probably the best single measure of where valuations stand at any given moment."
The metric is calculated by taking the Total Market Capitalization of a country's stock market and dividing it by the country's Gross Domestic Product (GDP). It essentially measures the size of the financial markets against the size of the underlying real economy. When the ratio is historically high, the stock market is considered overvalued. When it is low, the market is viewed as undervalued.
How We Plot It
At RatioPlotter.eu, our data engine seamlessly combines highly volatile daily stock market data from our data providors with smooth, annualized macroeconomic GDP data published by the International Monetary Fund (IMF).
To view the Buffett Indicator for various global economies, click on any of the country cards below. This will load our main Ratio Plotter with the IMF GDP tracker in the denominator and the corresponding country ETF in the numerator. We use these ETF's as a proxy for each nation's total equity market, while this is a common industry standard for real-time tracking, we believe in being fully transparent about our data sources and thus you should know this ETF is incomplete and can give a slightly twisted picture of the actual Buffett indicator. Above all, in our Buffett indicators, you cannot compare the y axis values across charts (eg. compare Denmark's y axis value against Australia's). On the standard Buffett indicators the y axis represents the total stock Market valuation divided by the GDP (e.g. market 20x GDP). In our Buffett indicators, the y axis represents the country ETF price divided by the GDP, not the total market equity value divided by the GDP. For some of our Buffett indicators we provide, below the chart, a link to a premium plot which estimates the Buffett indicator in the correct scale for That country (see Australia for instance), this link is accompanied by an explanation for how it was estimated. Concluding: our charts can tell if stocks are above or below their average relative price to GDP, but to really know if stocks from a certain country are cheap you can either configure the right coefficients in the equation plotter (see Australia example below the chart), or you can look at the world PE ratio website.
If you want to create a custom Buffett Indicator for a country not listed below, you must ensure that the ETF or Index you place in the numerator is priced in US Dollars (USD).
Our backend dynamically fetches the IMF Nominal GDP database (using the
IMF-NGDPD-[Code] ticker syntax), which is strictly denominated in USD. If you divide an asset priced in a local currency (e.g., Euros or Yen) by a GDP metric priced in USD, the resulting chart will be mathematically invalid due to extreme exchange rate distortions.
Live Global Indicators
Click any country below to automatically generate its historical Buffett Indicator chart. (Using US-listed iShares MSCI ETFs as broad market proxies).
Select a country below to load the chart.
Cannot find a country?
Use the ticker selector to plot the ratio of the country ETF (ticker selector category ETF), by the country GDP (ticker selector category GDP).
Ticker Data Usage and Sourcing
Ticker Data Sources
SEA() Ticker function
RAT() Ticker function
LAG() Ticker function
MATH- Tickers
CURVE_FROM_VECTOR()
CURVE_FROM_VECTOR([198.27, 211.92, 245.12, 281.72, 318.27], '2026-06-30', 'last', '1y', 'linear', 'forward_fill')
The first argument is the time ordered list of data points, separated by commas. The second argument ('2026-06-30') is the one data anchor we need to plot these values over time.
The third argument ('last') tells the system to apply the anchor date to the last value, another value for this parameter is 'first'.
The '1y' tells the values fall on the exact same date on each year (or closest if leap year).
The '1y' could also be '1q' or '1m' for quarter or month. The same considerations made for year apply.
The 'linear' parameter tells the system how to interpolate the values for days in between the value data points given, another possible value here is 'forward_fill'.
The 'forward_fill' last parameter is about the extrapolation, its possible values are: 'none', 'forward_fill', 'linear'.
Default Ticker Column Projections & Adjustments
Plotting Dividends Reinvested at Your Portfolio Return Rate
This is a function available only for users with the advanced subscription. The first argument is the Ticker simulated, the second is your portfolio CAGR rate (in this case 0.25 = 25% yoy). We apply the daily equivalent rate though. The third argument is the initial investment in the currency of the stock ticker. The last argument is the start date. For a full example see our article on dividend reinvestment simulation or our article looking back at Warren Buffet's investment in Coca-Cola and the results of its juicy dividends.
Calculating slope, velocity, or derivating (these are all synonyms)
Z scaling, bringing data to the normal curve Z score scale, normalizing
This is a function available only for users with the advanced subscription. The single argument can be a Ticker or another vector function. For a full example see our macro quadrant plot.