Finance.Foundation
finance.foundation / Research / Mapping the Global Exchange Landscape
Research · Markets · 2026-08

Mapping the Global Exchange Landscape

The world's equity markets are more concentrated than most investors realize. The two US exchanges — NYSE and Nasdaq — account for roughly half of global listed market capitalization. Add Shanghai, Shenzhen, Tokyo, Hong Kong, Euronext, LSE and India's NSE, and nine venue groups cover the overwhelming majority of world equity value.

Exchanges themselves have consolidated into listed, for-profit groups: ICE owns NYSE; Nasdaq Inc. is itself Nasdaq-listed; LSEG earns more from data (Refinitiv) than from listings; Deutsche Börse and Euronext roll up national venues across Europe. The exchange business quietly became a data and clearing business with a trading venue attached.

Meanwhile listing and trading have diverged. A company lists in one place but trades everywhere: ADRs in New York, fungible lines in Hong Kong, systematic internalizers and dark pools in Europe, 24-hour tokenized wrappers emerging offshore. 'Where does this stock trade?' now has a dozen correct answers — which is exactly why machine-readable market identifiers (MIC codes) and listing relationships matter more every year.

India's NSE is the structural story of the decade: the world's largest derivatives exchange by contracts, riding a domestic retail investing boom. The Gulf exchanges (Tadawul above all) are the capital-raising story, recycling energy surpluses into listed national champions.

← 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/global-exchange-landscape

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/global-exchange-landscape
Python
import requests r = requests.get("https://finance.foundation/api/v1/research/global-exchange-landscape", timeout=30) r.raise_for_status() data = r.json()
JavaScript
const r = await fetch("https://finance.foundation/api/v1/research/global-exchange-landscape"); 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/global-exchange-landscape.csv")