Skip to content
FinObservatory

Cross-border banking exposure / Methodology

Cross-border banking exposure: methodology

The /crossborder module reads three Bank for International Settlements datasets and, on /crossborder/USA only, one Treasury International Capital holder table. They answer related but different borrower-side questions, so the exact selection matters.

Three BIS datasets, three lenses

Global Liquidity Indicators (GLI), foreign-currency credit. GLI combines bank loans with international debt securities to measure credit to non-bank borrowers outside a currency's home area. The page follows the three headline currencies, US dollar, euro and Japanese yen, in native-currency levels and year-on-year growth. This is broader than the bank-only LBS and CBS views below.

Locational Banking Statistics (LBS), the residence basis. LBS records the positions of banks by the country where the reporting bank office is located, regardless of who owns the bank. A US-owned bank booking a loan through its London branch counts under the United Kingdom, not the United States. LBS is built to measure the geography of financial intermediation and capital flows, and it reports both claims (assets: lending, holdings) and liabilities (funding: deposits, borrowing). FinWeave uses the cross-border position type: positions between a bank in one country and a counterparty in another. Its global currency panel varies the currency in which those claims are denominated. Denomination is not borrower residence, lender nationality, booking location, or settlement currency.

Consolidated Banking Statistics (CBS), the nationality basis. CBS records the worldwide-consolidated claims of banks by the country where the parent bank is headquartered, netting out positions between offices of the same banking group. The same US-owned bank's London book counts under the United States. CBS is built to measure country-risk exposure: how much a national banking system, as a group, is exposed to a given borrower country. CBS reports claims only; by design it has no liabilities measure.

They are not additive and not directly comparable. LBS and CBS overlap but measure different things over different reporting panels. This page never sums an LBS figure and a CBS figure, and never presents one as a check on the other. Where both appear for a country, they are two separate readings.

Units

Every LBS and CBS figure is an amount outstanding (a stock, not a flow) in millions of US dollars in the raw parquet (BIS UNIT_MULT = 6, "Millions", constant across every row of both files). The LBS denomination components are also USD-equivalent millions: a USD-denominated share identifies the currency named in the claim, but its displayed level is not a separate USD-native measure. GLI differs: UNIT_MEASURE mixes levels in the named currency (USD, EUR, JPY, each with UNIT_MULT = 6), percentage of GDP (770) and year-on-year percentage change (771, with UNIT_MULT = 0). The page filters the unit before each GLI chart, displays level histories in trillions of the named currency, and puts 771 growth on a separate per-cent axis. It never puts a level and growth row on one axis. The TIC treasury-holder subset used on /crossborder/USA is monthly millions of dollars in the raw parquet.

Country claims chart transforms

The LBS claims history on each /crossborder/[iso3] page offers four views. The selected mode is stored in the URL under a stable, country-specific chart key, so reloading or sharing that URL restores the same view. Level is the default and passes the displayed observations through unchanged.

  • Level: (L_t = x_t / s), where (x_t) is the BIS amount outstanding in millions of US dollars and (s) is the page's displayed-unit divisor (1 for USD millions, 1,000 for USD billions, or 1,000,000 for USD trillions). The axis and hover readout retain that displayed dollar-stock unit.
  • YoY: (g_t = 100(x_t/x_{t-4} - 1)), in per cent. Because LBS is quarterly, the denominator must be the observation for the same quarter one calendar year earlier. It is not the preceding row. If that same quarter is absent, null, or nonpositive, or the current observation is nonpositive, (g_t) is null.
  • Index: (I_t = 100x_t/x_b), where (b) is the first strictly positive observation in each displayed series. The unit is an index with that observation equal to 100. Earlier or later nonpositive observations are shown as gaps in this mode rather than producing an undefined or sign-reversed index.
  • Log: (Z_t = \log_{10}(x_t/s)), the base-10 log of the level in the chart's displayed dollar unit. Nulls remain null. Any nonpositive observation is hidden and included in the chart's hidden-observation count.

All modes keep observations aligned to the original quarterly date axis, and null observations remain breaks rather than being interpolated or treated as zero. A missing quarter is never replaced by the nearest available row for the YoY calculation. The BIS parquet includes isolated published zero and negative country-claims observations. Level retains those source values unchanged; YoY, Index, and Log hide them and disclose the hidden-observation count because those cells cannot support the positive-value transforms. The executable checker validates this policy directly against the BIS parquet.

These transformations describe residence-basis LBS positions, not ultimate-risk exposures and not flows. In particular, YoY growth is the change in a US-dollar-denominated stock. It includes exchange-rate and other valuation effects as well as transactions, so it must not be interpreted as an exchange-rate-adjusted flow. FinObservatory does not estimate that adjustment here.

Exact selections (the dimension cut)

BIS publishes all three datasets across many dimensions. This module keeps fixed cuts and lets only the dimensions named below vary. The LBS and CBS cuts were verified against BIS's live SDMX API before being applied, which caught two silent traps documented in data/raw/bis_lbs/SOURCE.md (the L_POSITION=D code and the L_POSITION=S/CBS_BANK_TYPE=4M codes all carry zero rows). The GLI cut was verified against the normalized bulk file and each selected row's TITLE.

GLI headline cut

DimensionFixed valueMeaning
FrequencyQQuarterly
Currency denominationUSD, EUR or JPYThe three headline reserve currencies
Borrower sectorNNon-banks, total
Lender sectorAAll lending sectors
Position typeICross-border and local positions in foreign currency
Borrower country3PAll countries excluding residents of the currency home area
InstrumentBCredit, bank loans plus debt securities
Unit measurenamed currency or 771Native-currency level, or year-on-year per cent

Without L_INSTR = B, the fixed LENDERS_SECTOR = A cut returns two variants, total credit (B) and debt securities (D); loans (G) use LENDERS_SECTOR = B. With B, each currency/unit pair has 105 unique quarters from 2000-Q1 through 2026-Q1.

The USD borrower-country table uses the same USD level cut but lets BORROWERS_CTY vary. It removes all eleven BIS aggregate codes, 4T, 3P, 5J, 4U, 4Y, 5C, 4W, 2A, 6E, 2R, 3C. The remaining country panel is not exhaustive and is never summed.

LBS core cut

DimensionFixed valueMeaning
FrequencyQQuarterly
MeasureSAmounts outstanding (stocks)
PositionC or LTotal claims / total liabilities (varies by view)
Position typeNCross-border
InstrumentAAll instruments
Currency denominationTO1All currencies
Currency typeAAll currency types
Parent country5JAll parent nationalities (residence basis, not consolidated)
Reporting bank typeAAll reporting banks
Counterparty sectorAAll counterparty sectors
Reporting countryfreeIndividual reporter, or 5A (all reporting countries)
Counterparty countryfreeIndividual counterparty, or an aggregate (5J, 4T, etc.)

For the bilateral totals, rankings, and country pages, the LBS free dimensions remain measure (claims or liabilities), reporter, counterparty, and quarter. There is no currency, instrument, maturity, or counterparty-sector breakdown in those views: those dimensions are collapsed to their "all" totals.

LBS global claims by denomination

The denomination panel is a separate, narrower extraction from the same bulk file. It holds every core dimension fixed, selects claims only (L_POSITION = C), fixes reporting country to all reporters (L_REP_CTY = 5A) and counterparty country to all countries (L_CP_COUNTRY = 5J), and lets only L_DENOM vary. The BIS TO1 all-currency observation is the official denominator. Five populated individual denominations, USD, EUR, JPY, GBP, and CHF, are stored as components. The populated TO3 (all currencies excluding the core) and UN9 (unallocated currencies, a subset of TO3) buckets are not displayed as siblings because that would double-count.

For each quarter, share_pct = 100 * denomination value / TO1. The named components are not renormalized. other_or_unallocated_pct = 100 * max(TO1 - sum(named components), 0) / TO1 is computed separately and is never assigned to a particular currency. The builder permits only a 0.01 USD million published-rounding tolerance when comparing the named-component sum with TO1, and it independently confirms that the computed residual matches BIS TO3 within that tolerance.

CBS core cut

DimensionFixed valueMeaning
FrequencyQQuarterly
MeasureSAmounts outstanding (stocks)
Bank type4BDomestic banks, worldwide consolidated (the only grouping populated for every reporter)
BasisFImmediate counterparty basis
PositionIInternational claims (the CBS cross-border analog)
InstrumentAAll instruments
Remaining maturityAAll maturities
Currency bookedTO1All currencies
Counterparty sectorAAll counterparty sectors
Reporting countryfreeReporting banking system, by nationality, or 5A
Counterparty countryfreeIndividual counterparty, or an aggregate

CBS free dimensions: reporter (bank nationality), counterparty, and quarter. There is no maturity, sector, or ultimate-risk-basis breakdown in this cut, and no liabilities measure exists.

What each view shows

  • Foreign-currency credit headline. GLI credit to non-bank borrowers outside the home area for USD, EUR and JPY, quarterly 2000-Q1 to the latest quarter. Native-currency levels use three separate panels because their currencies and scales differ. Year-on-year growth uses one shared per-cent chart.
  • USD borrower-country detail. Latest-quarter GLI USD credit on the same sector, position and instrument cut, with BIS aggregates excluded and the incomplete country panel left unsummed.
  • Total cross-border claims timeline. LBS claims, all reporting countries (5A) versus all countries (5J), quarterly 1977-Q4 to the latest quarter. The 5A reporter aggregate reconciles exactly with the sum over individual reporters (verified). The deepest drawdown from a running maximum, its peak and trough quarters, and the first later quarter to exceed that peak are computed from the series, not asserted, and are not capped to a crisis window.
  • Global claims by currency denomination. LBS claims, all reporting countries (5A) versus all countries (5J), with only L_DENOM free. The chart compares each named denomination's share of the official TO1 total; the latest table shows USD-equivalent levels and shares plus the separately computed other-or-unallocated residual.
  • Largest reporter banking systems. LBS claims by individual reporting country versus all counterparties (5J), latest quarter. This ranks where lending is booked, so financial centres rank high.
  • Largest counterparty countries. LBS claims by all reporters (5A) versus individual counterparty, latest quarter. The sum over individual counterparties is slightly below the 5J total because 5J also carries unallocated and international-organisation counterparties.
  • Claims on emerging markets. LBS claims by all reporters versus the BIS emerging-market aggregate (4T) and its regional sub-aggregates (4Y, 4W, 4U). These are BIS's own country groupings, not sums computed here; the three regions do not add up to 4T (emerging Europe and unallocated emerging positions are the remainder).
  • Per-country funding view (/crossborder/[iso3]). For each counterparty country: LBS claims on it (all reporters), the change since the 2019-Q4 baseline, LBS liabilities to it, CBS international claims on it, the full claims history, and the CBS breakdown by bank nationality where the panel carries it.
  • USA treasury-holder view (/crossborder/USA only). Treasury International Capital (TIC) country holdings of U.S. Treasury securities, monthly, as the securities-holder complement to the BIS bank-claims view.

Treasury International Capital on /crossborder/USA

This USA-only section uses a deliberately narrow subset from the tic_slt series catalogue. The raw file carries 4,260 monthly series across foreign holdings, U.S. holdings, net transactions, valuation changes, long-term securities, short-term Treasury bills, country aggregates, regional aggregates, and stale historical composites. The page does not try to surface the whole catalogue.

Exact TIC selection

  • Start from the for_treas_pos_* family only: Treasury's own "Foreign portfolio holdings of U.S. long-term and short-term Treasury securities" series, which answer the headline holder question directly.
  • Keep only series whose last observation is the current latest month in the parquet (2026-05 at this vintage). This drops stale/discontinued composite lines.
  • Exclude Treasury's own aggregates and region lines: Grand Total, All Countries, Foreign Official, Foreign Non-Official, Euro Area, European Union, and the Total * families.
  • Result at the current vintage: 60 current country-level series. The page ranks the latest top 10 and charts the history of the current top 5. No flows, valuation decomposition, or beneficial-ownership adjustment is attempted.

Why this subset

The brief asks the headline question, "which countries hold U.S. Treasuries, and how that has moved." for_treas_pos_* is the direct stock measure for that question. The for_lt_treas_* and for_st_treas_* families are the long-term and short-term components behind it; *_net and *_valchg are deliberately left out here because this page is not a decomposition of changes.

Mandatory TIC caveat

TIC country rankings are by custodial location, not beneficial ownership. Treasury states that the table is collected primarily from U.S.-based custodians and that overseas custody accounts may not be attributed to the actual owner. This means custodial centres such as the United Kingdom, Belgium, Luxembourg, and the Cayman Islands can overstate their own holdings in the published ranking. The note sits directly under the USA table and chart, not only here.

Treasury reconciliation

One latest-month headline was reconciled before wiring: Japan's for_treas_pos_42609 value in tic_slt.parquet is 1,143,139 (millions of dollars) in 2026-05, which is $1,143.1B after dividing by 1,000 and rounding to one decimal place. That matches Treasury's published Table 5, Major Foreign Holders of Treasury Securities, for May 2026 exactly at the table's displayed precision.

Coverage and panel caveats (name the caveat)

  • GLI borrower codes mix countries and aggregates. The eleven aggregate codes listed above are excluded from the USD country table. The remaining country coverage is selective, so it is not treated as an exhaustive decomposition and is never summed.
  • The reporting population changes over time. The set of jurisdictions that report to BIS has grown since 1977 (LBS) and 1983 (CBS). Part of the long-run rise in total cross-border claims reflects more reporters joining the panel, not only more lending by a fixed group. Comparisons across long spans mix a growth-of-coverage effect with a growth-of-activity effect. BIS flags methodology-driven discontinuities with a "break" status; those observations carry a real number but are not comparable to the prior quarter.
  • Denomination histories are never filled. The output preserves missing denomination quarters as missing rather than zero-filling or backfilling them. In this vintage all five populated individual denomination series have observations in every one of the 193 TO1 quarters from 1977-Q4 through 2025-Q4, so there is no early-history component gap to fill. The euro's early observations are the BIS-published EUR-denomination back-series, not a conversion performed by FinWeave.
  • The CBS panel is narrower than the LBS panel. At 2025-Q4 this cut carries 46 LBS reporting jurisdictions and 29 CBS reporting jurisdictions; across the full history 48 and 31 respectively appear at least once, which is why the all-time counts are higher than the counts on the overview page (computed from the latest quarter). Several LBS-only jurisdictions (mostly offshore and financial centres) do not separately publish consolidated statistics, so the CBS panel is narrower. This is why a country can have LBS claims but thin or absent CBS nationality detail.
  • Confidential suppression. BIS suppresses individual cells that would disclose a single reporter's confidential position. Suppressed observations are not in this cut. Where a country's CBS nationality breakdown is empty, the page says so rather than inferring a value.
  • Bangladesh and other non-reporters appear only as counterparties. Bangladesh does not report to BIS LBS or CBS, so it never appears as a reporting country, only as a counterparty other banks lend to. This is expected, not a gap.
  • Aggregates are BIS's own. 5A, 5J, 4T, 5R, 4U, 4W, 4Y are BIS country groupings carried in the data, not aggregates computed by FinWeave. Historical/defunct area codes (USSR, Yugoslavia, Czechoslovakia, and similar) appear in the deep history with no ISO3 code and are excluded from the country pages.

Citation and license

Source: Bank for International Settlements, BIS Data Portal (data.bis.org), datasets WS_GLI (Global Liquidity Indicators, downloaded 2026-08-30), WS_LBS_D_PUB (Locational Banking Statistics) and WS_CBS_PUB (Consolidated Banking Statistics, downloaded 2026-07-10). BIS statistics may be used, reproduced, and distributed free of charge provided the source is cited ("Source: BIS"). Do not imply BIS endorsement. Full terms: https://www.bis.org/terms_conditions.htm.

Full provenance, row-count reconciliation and spot-checks are in data/raw/bis_gli/SOURCE.md, data/raw/bis_lbs/SOURCE.md, data/parquet/bis_lbs_currency.SOURCE.md and docs/data_provenance.md.