Finance.Foundation
finance.foundation / Research / Balance Sheets Bigger Than Nations
Research · Data · 2026-10

Balance Sheets Bigger Than Nations

This note joins two tables already in the dataset: 20 banks, each carrying a total_assets_usd_tn figure, and 37 countries, each carrying a gdp_usd_tn figure. Grouping the banks by their country field and summing total assets, then dividing by that country's GDP, turns two unrelated-looking reference tables into a systemic-size ratio for each of the 11 countries that have at least one covered bank. Seventeen of the 20 banks are on the Financial Stability Board's global systemically important bank (G-SIB) list; the other three — DBS, Rabobank and Intesa Sanpaolo — are domestically systemic rather than globally so. Either way, this is a curated set of large, named banks, not a census of every bank chartered in each country.

Five countries clear a ratio of 1.0. France tops the table: its three covered banks — BNP Paribas, Crédit Agricole and Société Générale — carry a combined $7.5tn in assets against a $3.2tn economy, a ratio of about 2.3. Switzerland is next at roughly 1.8, and on a single name: UBS alone, at $1.7tn, against Swiss GDP of $0.94tn — the exact shape of the concern Swiss regulators raised when UBS absorbed Credit Suisse in 2023 and became, on its own, a balance sheet bigger than the country that charters it. Spain (Banco Santander, 1.11), Singapore (DBS, 1.09) and the United Kingdom (HSBC plus Standard Chartered, 1.07) round out the group of five.

A ratio above 1 is not by itself a solvency statement — it mostly reflects what these particular banks are. HSBC, Santander, BNP Paribas and UBS are international banks whose balance sheets are built from deposits, loans and trading books gathered far outside their home market, not a claim sized to the domestic economy alone. But the ratio is exactly the quantity regulators and the IMF reach for when asking a harder question: if this balance sheet needed a sovereign backstop, could the sovereign behind it actually provide one? A central bank can print the funding currency; a government's taxable base cannot be resized to match a bank's book. That gap — not the balance sheet's quality — is what the France and Switzerland rows are actually showing.

The ratio also cuts the other way, and the largest absolute numbers in the dataset sit in the lowest ratios for exactly that reason. The United States' five covered banks sum to $13tn against a $29tn economy (0.45); China's three sum to $16.9tn against $19tn (0.89, the second-highest absolute exposure in the table despite a ratio under 1). Germany sits at the opposite end from France at 0.32 — one covered bank, Deutsche Bank, against a $4.7tn economy — a reminder that Germany's own banking system (regional Landesbanken and savings banks, none of them in this dataset) is far larger than its single G-SIB entry implies.

That last point is the honest limit of this note: the ratio is a property of which banks happen to be curated here, not a complete national balance-sheet-to-GDP figure for any of the 11 countries, and the 26 countries in the dataset with zero covered banks are uncovered, not bankless. What the computation does show cleanly is why 'bank assets ÷ GDP' is a ratio worth being able to compute at all — it is one of the plainest early-warning numbers in financial stability, built from two fields that are each individually mundane, and it only exists here because total_assets_usd_tn and gdp_usd_tn live in the same queryable graph rather than two different providers' spreadsheets.

← All research

Approximate reference values from public sources · seed-0.7 · marketcap-1 · 2026-08-30 · not real-time. See data & methodology.

# this page as data GET https://finance.foundation/api/v1/research/bank-balance-sheets-vs-gdp

JSONCSV No key, CORS enabled — paste any of these straight into a notebook.

Code to fetch it
curl
curl -s https://finance.foundation/api/v1/research/bank-balance-sheets-vs-gdp
Python
import requests r = requests.get("https://finance.foundation/api/v1/research/bank-balance-sheets-vs-gdp", timeout=30) r.raise_for_status() data = r.json()
JavaScript
const r = await fetch("https://finance.foundation/api/v1/research/bank-balance-sheets-vs-gdp"); if (!r.ok) throw new Error(r.status); const data = await r.json();
pandas
import pandas as pd df = pd.read_csv("https://finance.foundation/api/v1/research/bank-balance-sheets-vs-gdp.csv")