Methodology Reference · Macro Dashboards

China Financial Conditions Index

A weekly read on how loose or tight Chinese financial conditions are — built from eight market series, reported as two complementary indices. Unlike a rates-only gauge, it deliberately layers in property and a credit impulse, so it reflects the channels that actually drive China's cycle. Lower always means looser.

◄ looser (easing) neutraltighter (stress) ►

01

Two indices, one engine

Both indices use the same eight components, the same signs, and the same category weights. They differ in one thing only: whether each series is standardized against a fixed historical base or a rolling window.

FCI — LEVEL

Goldman-style, anchored at 100

Weighted sum of component levels, standardized on the full 2018-present sample and anchored so the base-period average = 100. Preserves secular drift.

▸ "How loose/tight vs the post-2018 sample?"

FCI — MOMENTUM

Rolling 52-week z-score

Identical construction, but moments come from a trailing 52-week window. Detrended, centred near zero.

▸ "Have conditions tightened vs the last year?"

Read them together. A typical week might say "the level is modestly loose, but momentum is tightening" — easy in absolute terms (rates at record lows), yet tightening at the margin as property and credit roll over.

02

Components & weights

Eight series in five categories. The sign encodes a growth-impulse convention: +1 means a higher value tightens conditions (raises the index); −1 means a higher value loosens them (lowers it).

SeriesCategoryCat wt Sub wtSignHigher value →
CFETS RMB IndexFX0.100.50+1stronger RMB → tighter
BIS broad REERFX0.100.50+1stronger real RMB → tighter
SHCOMP trend gap (200d)Equity0.200.50−1above trend → looser
SHCOMP realised vol (21d)Equity0.200.50+1higher vol → tighter
3M SHIBORRates0.200.50+1higher → tighter
CGB 10Y yieldRates0.200.50+1higher → tighter
70-city 2nd-hand YoYProperty0.201.00−1faster → looser
TSF credit impulseCredit0.301.00−1accelerating → looser

Category weights sum to 1.00; sub-weights sum to 1.00 within each category. Equal-weight (0.20 each) is the validation benchmark; FX is cut to 0.10 (a managed float carries little information) and the freed weight routed to the credit impulse.

03

How it's built

1 · Sign & standardize

Each raw series is signed and standardized to zero mean, unit variance:

x_i,t = sign_i × ( X_i,t − μ_i ) / σ_i

The moments (μ, σ) are the only switch between the two indices — the full 2018-present sample for the Level, a trailing 52-week window for Momentum.

2 · Category composites

Multi-series categories (FX, Equity, Rates) are a plain weighted average of their component z-scores — with no second standardization. This keeps the index fully transparent: the Momentum ends up as exactly the weighted sum of the eight tile z-scores, so every number on the dashboard reconciles by hand (see §07).

fx     = 0.5·x_cfets  + 0.5·x_reer
equity = 0.5·x_gap    + 0.5·x_vol
rates  = 0.5·x_shibor + 0.5·x_cgb10y
property, credit  =  their single z-score (already one series)

Trade-off: averaging correlated sub-series (FX most of all) slightly shrinks that category's variance, so its effective influence runs a touch below its nominal weight. We accept that in exchange for an index you can verify by hand from the tiles.

3 · Weight & aggregate

C_t = 0.10·FX + 0.20·Equity + 0.20·Rates + 0.20·Property + 0.30·Credit

4 · Anchor

Level     :  FCI = 100 + (1 / SD_base(C)) × C_t
Momentum  :  FCI = C_t          (rolling moments)

This anchoring is our own scaling choice: because the deviation is divided by the composite's full-sample standard deviation, one index point equals one base-period SD by construction — so 98 is ~2 SD looser than the post-2018 average and 102 ~2 SD tighter. It is the same SD scale the commentary uses when it cites, e.g., "−0.1 SD". Note this is not how Goldman scales its headline index (see §06). Master frequency is weekly (Friday); daily series are sampled last-obs, monthly series (property, credit) forward-filled with no interpolation.

Because the Momentum is a weighted average of z-scores rather than a single standardized series, its absolute scale is compressed (it rarely reaches ±1). Its headline reading is therefore expressed as a percentile of its own history — the label ("tightening fast" etc.) keys off that percentile, not a fixed z-threshold.

04

Sign conventions growth-impulse

Signs follow the logic that asset-price and credit strength is stimulative — broadly the framing Goldman uses. This is a deliberate choice; it makes the index a read on the growth impulse from conditions, not a froth/stress gauge.

Flip note. Inverting the equity-gap, property and credit signs turns this into a stress/overheating index instead — a different question. Keep the growth-impulse signs consistent.

05

Reading the dashboard

The tiles (vs the last year) and the Level contributions (vs the whole sample) can disagree — a component can sit near its post-2018 average yet be tightening hard against the last twelve months. That gap is exactly what the Momentum index captures.

06

Relationship to Goldman's FCI

The Level index is built on the methodology Goldman set out in Our New G10 Financial Conditions Indices (Goldman Sachs Global Economics, 2017): a weighted average of a short rate, a long-term yield, a credit measure, an equity-price variable and a trade-weighted exchange rate, with weights reflecting each variable's estimated effect on GDP growth over a one-year horizon.

This index departs from Goldman's daily China FCI in two deliberate ways. First, it adds a property channel and a TSF credit-impulse channel — together 50% of the weight — which the daily GS index omits. Second, the equity leg uses a trend gap plus a realised-vol overlay rather than a valuation (Shiller-style) input. The upshot: when the property/credit cycle is weak, this Level reads meaningfully less tight than a rates-dominated GSCNFCI, because half the index sits on the downturn channels that offset easy money.

Weights here are share-based and standardized, not Goldman's proprietary GDP-impact coefficients. The shapes co-move; the absolute levels are not expected to match tick-for-tick.
Sign-convention check. Before reconciling against a published series, mind the direction: GS's FCI is higher = tighter, while Bloomberg's CHBGFCI is higher = looser — the opposite convention to each other.

On units. Our Level expresses deviations in post-2018 standard deviations (1 point = 1 SD; see §03). Goldman's headline index is instead scaled to growth impact — a one-point move corresponds to roughly one percentage point of year-ahead GDP growth — so its "points" are not standard deviations. Standardized, SD-based presentations of the GS FCI do exist (the BIS, for example, publishes it as 100 = long-run average with each unit a one-SD move), and our scale matches that convention rather than the paper's native growth-impact units.

07

Reconciling the Momentum from the components

The rolling Momentum is simply the weighted sum of the eight component z-scores on the dashboard tiles. Each tile shows both numbers you need: its z-score (the coloured badge, e.g. +1.8σ) and its weight (e.g. weight 30%). Multiply the two for every tile and add them up:

Momentum  =  Σ ( tile z-score × weight )
weight    =  sub-weight × category weight   (fixed; sums to 100%)

Worked on a recent week's tiles (substitute whatever your tiles currently read):

Componentz-scoreweight= contribution
FX · CFETS RMB Index+2.35%+0.115
FX · BIS broad REER+1.05%+0.050
Equity · SHCOMP trend gap+1.710%+0.170
Equity · SHCOMP realised vol+1.710%+0.170
Rates · 3M SHIBOR−1.410%−0.140
Rates · CGB 10Y yield−1.010%−0.100
Property · 70-city 2nd-hand+0.120%+0.020
Credit · TSF impulse+1.830%+0.540
Momentum100%+0.83

Same thing read by category (averaging is order-independent): FX +0.17, Equity +0.34, Rates −0.24, Property +0.02, Credit +0.54 → +0.83.

Two things this makes clear. First, a component's pull depends on its z-score and its weight together: credit at +1.8σ moves the index far more than CFETS at +2.3σ, because credit carries 30% versus CFETS's 5%. Second, the headline (+0.83 here) is small in absolute terms precisely because it is an average of z-scores — so its standing is read as a percentile of the Momentum's own history (§03), which is how a modest +0.83 can sit near the 90th percentile: unusually tight for this cycle.

08

Data & refresh

History is seeded once from a Bloomberg export; from then on every series updates from a free feed, so no weekly Bloomberg export is needed:

Fully free-sourced. Every input has a free feed, each validated against the Bloomberg seed (the reconstructed series match to a rounding error). A failed fetch on any series carries its last value forward, so a flaky week never breaks the run — the Bloomberg export is only ever a one-time historical seed.

Published weekly, Friday morning (06:00 SGT), to Discord with an auto-generated commentary.

09

Caveats

10

References

Goldman Sachs Global Economics. Our New G10 Financial Conditions Indices, Global Economics Analyst, 20 April 2017. gspublishing.com

Bank for International Settlements. Effective exchange rate indices (REER, broad) and residential property price statistics.

People's Bank of China. Total Social Financing aggregates and SHIBOR; National Bureau of Statistics — 70-city residential price indices; ChinaBond — government-bond yield curve.