FX TERMINAL · BLOG

Economic Indicators

Good for the Currency, Bad for Stocks: Scoring Economic Surprises

an economic release is only informative relative to what was expected. Payrolls of +150,000 is a strong number after a forecast of +80,000 and a disaster after a forecast of +250,000. The…

FX Terminal Research · 2026-08-16 · 13 min read

Short answer: an economic release is only informative relative to what was expected. Payrolls of +150,000 is a strong number after a forecast of +80,000 and a disaster after a forecast of +250,000. The measurable quantity is the surprise — actual minus forecast — and the useful aggregation is a weighted score across every major release for a country.

The part most tools miss: the same surprise points in opposite directions for currencies and for risk assets. Hot wage growth is currency-positive (it pushes rate expectations up) and equity-negative (it raises the cost of capital). So every release needs scoring twice, with independent polarity.

As of 15 August 2026, that produces this board:

Currency Currency score Risk-asset score Beats Misses In line
NZD +28 −69 5 1 0
GBP +17 +77 1 4 2
AUD −3 +3 2 3 1
JPY −5 +26 3 4 2
EUR −18 −18 2 1 5
CAD −31 +42 1 6 1
USD −50 −19 2 13 8
CHF −73 −24 0 4 2

The dollar is missing expectations on thirteen of its twenty-three tracked releases. This article explains exactly how that number is built. The live board is economic data heatmap — free, no account, all eight majors.


Step 1: Surprise, not level

The first rule is that levels are useless in isolation. Unemployment at 4.1% is neither good nor bad; it is good if 4.2% was expected and bad if 4.0% was.

surprise = actual − forecast

A release with no published forecast cannot be scored and must be excluded rather than treated as zero. This sounds pedantic until you discover how many series it affects. Some examples from the current data:

  • Japan's headline Inflation Rate YoY is stored without a forecast, so the catalog resolves Japanese inflation to Core Inflation Rate YoY instead.
  • The UK, Australia, Canada and Switzerland publish PPI YoY actuals with no forecast — real data that cannot be scored.
  • Switzerland publishes an unemployment rate with no forecast.

Each of those is a hole you have to handle explicitly or your scoreboard quietly lies.


Step 2: Dual polarity — the bit everyone skips

Each release gets two independent polarity assignments: one for the currency and one for risk assets (equities). They are frequently different, and where they differ is where the interesting information is.

Release Surprise Currency polarity Risk polarity Why they differ
CPI, PPI, PCE Hot +1 (bullish currency) −1 (bearish equities) Higher inflation → higher expected rates → stronger currency, higher discount rate, weaker equities
Average Hourly Earnings Hot +1 −1 Wage inflation is the stickiest kind; same mechanism
Unemployment Rate High −1 −1 Higher unemployment is bad for both
Initial Jobless Claims High −1 −1 Same
Non-Farm Payrolls High +1 +1 More jobs is good for both
GDP, PMIs, Retail Sales High +1 +1 Growth is good for both

Note the pattern: growth data has aligned polarity; inflation data has opposed polarity. That is the whole "good news is bad news" dynamic in one table, and it explains why some data days move currencies and equities in the same direction and others tear them apart.

Two of these need spelling out because their sign is counter-intuitive:

Unemployment Rate and Jobless Claims carry negative polarity. A higher number is a worse outcome. This is the sign error that most commonly inverts a homemade scoreboard, because the arithmetic is identical to every other indicator and only the interpretation flips.

A live example of the split. US Average Hourly Earnings printed 0.1% against a 0.3% forecast — a downside surprise of 0.2pp. With currency polarity +1, that scores bearish for the dollar: less wage pressure means less reason for the Fed to be restrictive. With risk polarity −1, the same print scores bullish for equities: cheaper labour, lower inflation, a friendlier rate path. One release, two correct and opposite conclusions.


Step 3: Group and weight

Not all releases matter equally. Payrolls is not a Redbook retail index.

Indicators are organised into groups (a concept, like "CPI" or "Manufacturing PMI"), each carrying a weight from 0 to 10 and a category. A group contains one or more components — the individual calendar events that measure it. US CPI has four components (core and headline, MoM and YoY); most other currencies have two.

The current US catalog:

Group Weight Category Currency polarity
CPI 10 Inflation +1
Non-Farm Payrolls 10 Labour +1
PPI 9 Inflation +1
PCE 8 Inflation +1
Unemployment Rate 8 Labour −1
GDP Growth QoQ 6 Growth +1
Initial Jobless Claims 6 Labour −1
JOLTS Job Openings 6 Labour +1
ADP Employment Change 6 Labour +1
Manufacturing PMI 5 Growth +1
Services PMI 5 Growth +1
Retail Sales 5 Growth +1
Average Hourly Earnings 5 Labour +1

Total catalog weight for the dollar: 89, across 23 scoreable components. That is the deepest coverage of any currency, which is a genuine asymmetry — the US publishes far more high-quality forecast-carrying data than anyone else.

The scoring formula

Each group votes between −1 and +1: the mean of sign(surprise) × polarity across its scoreable components. The headline is the weighted mean of those votes, scaled to ±100:

score = Σ(weight × vote) / Σ(weight) × 100

Critically: a group with nothing scoreable is excluded from the denominator, not counted as zero. Counting a missing indicator as neutral silently drags every score toward the middle and makes currencies with thin data coverage look calmer than they are.

Sign only, not magnitude

The vote uses sign(surprise), not the surprise's size. A payrolls miss of 103,000 counts the same as a miss of 5,000.

This is a deliberate limitation. Normalising surprise magnitude properly requires each indicator's historical surprise dispersion — how big a "typical" miss is for that series — and mixing raw magnitudes across indicators measured in percent, thousands and index points produces nonsense. Sign-only is coarse but honest. (Magnitude-aware scoring exists in the news and economic data backtester, where per-event dispersion is available.)


Reading the current board

The dollar: −50, and it is the labour market

Category Score Weight Components scored
Labour −61 41 7 / 7
Growth −52 21 4 / 4
Inflation −32 27 12 / 12

Every category negative, with labour the worst and carrying the largest weight. The drivers:

Release Actual Forecast Surprise Weight Currency read
Non-Farm Payrolls −23K +80K −103K 10 Bearish
GDP Growth QoQ (adv) 1.5% 2.1% −0.6pp 6 Bearish
Retail Sales MoM −0.6% +0.1% −0.7pp 5 Bearish
ADP Employment Change 44K 70K −26K 6 Bearish
Initial Jobless Claims 209K 202K +7K 6 Bearish
JOLTS Job Openings 7.359M 7.400M −0.041M 6 Bearish
ISM Services PMI 54.1 54.5 −0.4 5 Bearish
Average Hourly Earnings MoM 0.1% 0.3% −0.2pp 5 Bearish (bullish for equities)
ISM Manufacturing PMI 55.6 54.0 +1.6 5 Bullish
Unemployment Rate 4.1% 4.2% −0.1pp 8 Bullish
Core CPI YoY 2.5% 2.5% 0 10 Neutral
Core PPI YoY 4.2% 4.2% 0 9 Neutral
Core PCE YoY 3.3% 3.3% 0 8 Neutral

A payrolls print of −23,000 against +80,000 expected is a substantial miss, and it carries the joint-heaviest weight in the catalog. Meanwhile all three inflation gauges came in exactly on forecast — which is why inflation scores −32 rather than 0 (the twelve components include MoM legs that did surprise) but contributes nothing directionally at the headline level.

The interesting shape: manufacturing and the unemployment rate are the only two things going right, and the unemployment rate is improving while payrolls collapse — a divergence that usually means participation is falling rather than hiring improving.

The divergences worth looking at

New Zealand: +28 currency, −69 risk. Five beats against one miss, but the risk score is deeply negative. That is the fingerprint of inflation-led beats: good for the currency's rate path, bad for equities. The kiwi is also the strongest currency on our technical currency outlook board this week, which makes the fundamental and technical stories rare bedfellows.

The UK: +17 currency, +77 risk on one beat and four misses. How does a currency with four misses score positively on both measures? Because the beats and misses landed on the right indicators given their polarity. A single beat on a heavily-weighted growth series outweighs four misses on lightly-weighted ones. This is exactly what weighting is for, and it is also a reminder that beat/miss counts are a poor summary — the weighted score is the number that matters.

Canada: −31 currency, +42 risk. Six misses out of nine. The negative currency read and positive risk read together suggest the misses were concentrated in inflation — weak inflation is bad for the loonie's rate path and good for Canadian equities.

Switzerland: −73 with zero beats in six scoreable components, from a catalog weight of only 37 of a possible 45. The worst score on the board, from the thinnest data. Both facts are shown, because a −73 built on 37 points of weight is a weaker statement than the dollar's −50 built on 89.


Three data-quality traps worth knowing

These are the reasons a macro scoreboard is harder to build than it looks, and they apply to any implementation, not just this one.

Trap 1: Calendar values carry no units

Every actual, forecast and previous value in a typical calendar database is a bare number. "57" might be 57,000 payrolls. "7.359" might be 7.359 million job openings. "2.6" might be 2.6 per cent.

The unit is a property of the indicator, not of the row. That is the main reason a scoreboard needs a hand-curated catalog rather than a generic "score everything" pass — you cannot compare or even format a number you cannot identify.

Trap 2: Half the world's PMIs never publish an actual

Every PMI-branded title outside the United States — the S&P Global, HCOB, Judo Bank, Jibun and CommBank series — carries a forecast and, checked back to 2022 across all eight majors, zero released rows. They are diary entries, not data.

Scoring them produces permanently blank groups that drag every denominator down. The fix is to allow-list only the currencies with a genuinely scoreable business survey and substitute the series those countries actually publish: Japan's Tankan indices, the eurozone's Services Sentiment balance, Canada's Ivey PMI, Switzerland's procure.ch manufacturing index.

Cleaning this up moved several currencies' weight coverage from partial to complete — Australia from 39 of 51 to 39 of 39, the UK to 47 of 47 — without changing any score, because an unscoreable group was already excluded from the denominator.

Trap 3: Statistical agencies retire series

Australia's Bureau of Statistics discontinued monthly Retail Sales MoM after the June 2025 print and replaced it with Household Spending MoM. A catalog naming the old series shows a permanent gap that looks like a data outage.

When a group renders blank, check for a successor series before calling it a data gap. The correct search is across the whole concept and the full history, not just the titles already in your catalog.


Strength over time

A single snapshot tells you where a currency stands. The more useful view is the trajectory — the same weighted score replayed through history, so you can see whether a currency's data flow is improving or deteriorating.

Two implementation notes that matter for anyone building this:

The lines should be stepped, not smoothed. A macro score genuinely holds flat until the next release. Smoothing draws movement on days when nothing was published, which is a lie about the data.

A minimum coverage floor is essential. Early in any lookback window, only a handful of releases have landed. Without a floor, one lonely beat pins the score to +100 and the chart opens with a spike that means nothing. Blanking those points is more honest than drawing them.

Done correctly, the last point of the history chart equals the current dial exactly — which is the invariant that proves the replay and the snapshot have not drifted apart.


How to actually use it

  1. Rank the eight currencies weekly. The extremes are where the macro story is clearest. Right now: the kiwi at +28 versus the franc at −73 is a 101-point spread.
  2. Look at the currency-versus-risk divergence. A currency scoring positive while its risk score is deeply negative (New Zealand, +28 / −69) is being driven by inflation rather than growth. That has different implications for how durable the move is.
  3. Check the weight coverage before trusting a score. Switzerland's −73 rests on 37 points of weight; the dollar's −50 rests on 89. Both are real; one is better evidenced.
  4. Cross-reference against price. When macro and technicals agree — the franc is weakest on both boards this week — the trend is established and the marginal information is low. When they disagree, one of them is early.
  5. Use it to interpret the week ahead. A currency with a run of misses going into a central bank meeting is a different setup from one on a run of beats. The forex economic calendar tells you what is coming; the heatmap tells you what mood it is arriving into.

Frequently asked questions

What is an economic surprise index? A weighted aggregate of how economic releases have performed against consensus forecasts over a recent window. Positive means data is beating expectations, negative means missing. It measures momentum in expectations, not the absolute health of an economy — a weak economy that keeps beating low forecasts scores positively.

Why does good economic data sometimes hurt stocks? Because inflation and wage data have opposite implications for currencies and equities. A hot inflation print raises expected interest rates, which supports the currency and simultaneously raises the discount rate applied to future corporate earnings, which weighs on equities. Growth data — GDP, PMIs, retail sales — usually helps both. This is why every release here is scored twice with independent polarity.

Is a lower unemployment rate always good for the currency? For scoring purposes, yes — the unemployment rate carries negative polarity, so a lower-than-expected reading scores bullish. In interpretation it is more subtle: the US unemployment rate improved to 4.1% against a 4.2% forecast in the same period that payrolls came in at −23,000 against +80,000 expected. When those two diverge, the improvement is usually falling participation rather than genuine hiring strength.

How should economic indicators be weighted? By market attention and reliability. Here, CPI and Non-Farm Payrolls carry the maximum weight of 10, core PPI 9, core PCE and the unemployment rate 8, mid-tier surveys 5 to 6. The specific numbers are a judgement, but the ordering — inflation and headline employment above everything else — reflects what actually moves markets, as confirmed independently by our news impact by pair measurements.

What does "actual vs forecast" mean in forex? The actual is the published figure; the forecast is the consensus economist expectation before publication. Their difference is the surprise, and it is the surprise, not the level, that moves price — because the forecast was already reflected in the price before the release.

Why do some indicators show data but no score? Because scoring requires both an actual and a forecast, and some series are published without one. UK, Australian, Canadian and Swiss PPI YoY all print actuals with no forecast; so does the Swiss unemployment rate. Those rows display their real values and are marked unscoreable rather than being silently counted as neutral.

Which currency has the most complete data coverage? The US dollar, with 23 scoreable components totalling 89 points of catalog weight. Japan follows at 57, Canada 52, the UK 47, the eurozone 45, Australia and New Zealand 39 each, and Switzerland 37. This asymmetry is real — the US publishes far more forecast-carrying data than anyone else — and it means dollar scores rest on more evidence than franc scores.

How often does the heatmap update? It scores live from the stored calendar, so a release appears as soon as its actual is published. The default lookback is 365 days, and the strength-over-time chart can replay the same weighted score across 3-month, 6-month, 1-year and 2-year windows.


Conclusion

The value of a macro scoreboard is not that it tells you what to buy. It is that it compresses a hundred data releases into one comparable number per currency, and then shows its working when you disagree.

This week that number says the dollar's labour market is deteriorating faster than its inflation is cooling, that the franc has not beaten a single forecast in six tries, and that New Zealand's beats are the inflationary kind — good for the kiwi's rate path, bad for New Zealand equities.

None of that is a trade. All of it is context you would otherwise have to assemble by hand from thirty calendar rows, and the dual-polarity split in particular is information that a single-score index throws away.

Free, all eight majors, with every component and weight visible, at fxterminal.app/economic-heatmap.

Keep reading

← All articles