| Loading… |
We find the historical months whose macro conditions (growth, inflation, credit, liquidity, and trend) were most similar to today, then show what each asset class did over the following 3, 6, and 12 months. This is a study of historical analogs, not a forecast. Read the ranges, not just the medians.
The five pillar readings being matched. Every month in the record is scored on these, and the closest are selected — nothing else enters the selection.
Grouped into episodes — runs of analog months no more than 12 apart. Distance is the straight-line gap from today in five-pillar space; lower is closer. Click any month to open the record for it.
A regime read on the US macro environment: six pillars (growth, inflation, liquidity, credit, trend, and sentiment), each scored against its own 15-year history and combined into a 0–100 Macro Score. 50 is a typical backdrop, high readings mean conditions that have historically accompanied supportive environments (easing conditions, positive trend, washed-out sentiment recovering), low readings the opposite. It describes the environment; it does not forecast the market.
Every indicator becomes a rolling z-score against its own 15-year history (5-year minimum), indicators average within their pillar, and pillar states are labeled from the z: Neutral within ±0.15 of typical, mild labels beyond that, and strong labels only past ±1.25, roughly the most unusual tenth of history. The Macro Score is the equal-weighted mean of pillar scores mapped through the normal CDF to 0–100. Data enters as published; history uses careful extensions where modern series are short.
Not a market-timing signal: it summarizes the environment, and environments change slower than prices. Not a forecast. And unlike the international tailwinds score, this US composite has not been through a formal out-of-sample validation program; it is a descriptive dashboard, and we label it as such rather than borrow credibility it hasn't earned. Not investment advice.
How did daily returns behave on days with scheduled macro releases? Pick events and an instrument; we compute the average daily move conditional on each event being scheduled, against the full-sample average. Descriptive history, not a causal claim and not a trading rule.
The economic numbers that move markets (inflation, the jobs report, Fed rate decisions) come out on a published schedule. Everyone knows the dates months ahead. This page asks one question of history: were the days those numbers came out any different, on average, from ordinary days?
The answer, over 9,000+ trading days since 1990: yes, a little. Days with big scheduled releases, Fed decision days especially, have averaged noticeably better stock returns than ordinary days. Researchers have documented this for years. It does not mean event days are safe or profitable to trade; any single one can be a very bad day. It means the market has, on average, been paid a bit more for holding stocks through scheduled news. This page lets you see that pattern for yourself, event by event, and slice it by time period, by asset, and by whether the number beat or missed expectations.
Start with the units: a basis point (bp) is one hundredth of one percent. The market's average day since 1990 gained about 5 bps: on a $1 million portfolio, roughly $500. The dashed line marks that ordinary-day average.
Each colored bar is the average return across every day a given release was scheduled; the count is in parentheses. The FOMC bar around 25 bps says: across ~290 Fed decision days, the market averaged about $2,500 per $1 million, versus $500 on a typical day. Averaged, again: individual Fed days have ranged from strongly up to painfully down.
The thin whisker works like the margin of error on an election poll. An average built from a few hundred noisy days is an estimate, and the whisker shows the plausible range for the true average. One rule of thumb covers it: if the whole whisker sits above the dashed line, the pattern is probably real; if the whisker straddles the line, it could easily be luck. More days in the average = shorter whisker, which is why Claims (nearly 1,900 days) has a tight one and ISM Services (~350) doesn't.
Before each release, economists are surveyed and the middle forecast becomes "consensus", the number already baked into prices. Markets react less to the number itself than to the gap between the number and consensus. CPI at 3% is good news if forecasters expected 3.3%, bad news if they expected 2.7%.
Set the dropdown to Above consensus and every chart recalculates using only the days that release came in higher than forecast; Below consensus is the reverse. Two cautions. "Above" means the number was higher, not that the news was good: above-consensus jobless claims means more layoffs than expected. And forecast records only reach back to the late 1990s, so the filtered samples are smaller.
One subtlety: because exact-consensus prints belong to neither group, the "above" and "below" averages don't have to bracket the all-days average. PCE is the clearest example. Forecasters usually nail it (they already have CPI and PPI in hand by then), so most PCE days are calm in-line days, and the rarer prints that surprise in either direction have historically been the bad ones.
Fed decisions need a different yardstick, because forecasters almost never miss the rate call itself. So for FOMC days we use the bond market's own bet: futures contracts on the Fed's rate, priced minute by minute. If rates came out higher than those contracts had priced, the Fed was more hawkish than expected ("above"); lower is dovish ("below"). Compare the two on stocks: dovish surprises have historically been the far better days.
Two refinements. Hot/cold translates every release into the same economic direction: hot means stronger growth, hotter inflation, or a hawkish Fed, whichever way the series happens to be quoted (so "hot" jobless claims means fewer claims than forecast). Size buckets surprises by how unusual they were for that release: large is a miss of at least one standard deviation of that release's own surprise history, and "in line" keeps only prints that essentially hit consensus, which for well-forecast releases like PCE is most of them.
The dashboard's own model scores the macro backdrop every month: six pillars plus a composite, each measured against its own history. The regime filter restricts the study to trading days when a chosen pillar was above or below typical, so you can ask questions like: do Fed days behave differently in downtrends? Do CPI days hurt more when the inflation pillar is already hot?
To avoid peeking, each day is classified by the previous month's model reading — the information someone standing on that day would actually have had. One honest limit remains: the model's history is built from today's revised data, not what was printed at the time. And a practical warning: stacking a regime filter on top of a surprise filter shrinks samples fast, and with enough slicing something will always look impressive by luck. The page flags this when you do it; take heavily filtered results as leads to investigate, not findings.
By event density. Some days carry two, three, four releases at once. This buckets days by how many landed together. Busier news days have averaged better returns, but the busiest buckets hold only a handful of days (hover to see counts), so don't lean on them.
Cumulative return around events. The same events, viewed as a window: average performance from a few days before the release (left of "day 0") to a few days after. If a line jumps at day 0, the release day itself carried the action; a slope before or after means drift going in or follow-through coming out.
Marginal effects table. When CPI and jobless claims land on the same Thursday, the simple averages above credit that day to both. This table splits the credit: each event's effect with its calendar-mates held constant, which is why the numbers here are usually smaller than the bars. Bold rows are the ones strong enough that luck is an unlikely explanation; unbolded rows should be read as "can't tell from this data."
Release dates come from the Federal Reserve's economic-data archive (FRED), which records when each report was actually published (CPI dates back to 1949, the jobs report to 1955), and from the Fed's own records of scheduled FOMC meetings (emergency meetings excluded). A few releases keep no official date archive (ISM, Conference Board confidence, early Michigan sentiment, early weekly claims), so those dates are reconstructed from each report's standing schedule (ISM Manufacturing on the first business day of the month, and so on); reconstructions can miss the occasional holiday shift. Forecasts and released values are Bloomberg survey data. Returns are daily, close to close; a release landing on a weekend counts toward the next trading day, the first close that could react to it.
Not a trading strategy: an average edge of 20 bps on eight days a year is real money in aggregate but tiny against the swing of any single day, and history says nothing about the next release. Not cause and effect: event days differ from ordinary days in more ways than the release itself. Not carved in stone: change the date range and watch the bars move; that sensitivity is itself the lesson. Treat this page as a way to build intuition about how markets digest scheduled news, and as a starting point for deeper research. It is not investment advice.
One number per country, 0–100, answering: how supportive is this country's macro backdrop for its stock market right now, versus its own history? Six pillars (inflation momentum, policy direction, currency valuation, external balance, commodity terms of trade, and equity valuation), each scored against the country's own 15-year history, equally weighted, mapped to a percentile-style scale. 50 is typical for that country; 80 is a strongly supportive backdrop; 20 is hostile. It's a 6–12 month comparison signal across countries, not a market-timing oracle.
The pinned United States row is a benchmark, computed with this same six-pillar methodology so foreign markets can be compared to the thing you'd otherwise own. It is deliberately a different number from the US Dashboard's Macro Score, which uses a different pillar set (growth, liquidity, credit, trend, sentiment) to answer a different question: what kind of environment the US is in, rather than how the US ranks as a destination for capital.
Labels express direction versus the country's own history, not absolute magnitude: readings within a hair of typical (|z| < 0.15) show as Neutral, and for economies with little commodity trade the commodities label can look dramatic on an economically tiny move; check the z in the tooltip.
Growth readings are shown for context but excluded from the score: in out-of-sample testing, reported growth didn't predict returns (it's already in the price by publication time). We'd rather exclude it and say so.
Every pillar becomes a rolling z-score against that country's own 15-year history (so Japan is compared to normal-for-Japan, Brazil to normal-for-Brazil), clipped at ±3. Live pillars are averaged with equal weights (we tested letting historical predictive power set the weights, and it failed to beat equal weights out of sample), and the average maps through the normal CDF to 0–100. A score appears only when at least three pillars have data, data enters only with realistic publication lags, and no country appears before its data actually existed.
Not an economic health grade: a recession with aggressive easing and a cheap currency can score high, and that's intended. Not a timing tool: it's designed to rank countries against each other over 6–12 months, and it moves slowly. Not a track record: the historical validation behind it uses revised data and conservative assumptions, but validation is evidence, not performance. And not investment advice.
Full write-up, including the validation program and the tests that failed: How the Macro Tailwinds Score Works.