Datasets · FinzData Quantitative Model

Where the cycle is now, and how the model has done

FinzData's own macro model: point-in-time regime labels for growth, inflation, financial conditions, liquidity and credit, a nowcast of the month nobody has published yet, and a daily Markov-switching probability that markets are in their high-volatility state. Every chart below links to the series it was drawn from, and every label is available through the API.

Nowcast computed 2026-10-14 · stress probability as of 2026-10-12 · page rebuilt 2026-10-14

Macro quadrant · nowcast September 2026GoldilocksLast published label: Stagflation (data through July 2026)
Growth · CFNAI-MA3 nowcast+0.085Above trend, accelerating
Inflation · core PCE y/y nowcast2.94%Falling: -0.10 pts over 3 months
Financial conditions · week to 9 October 2026TighteningNFCI +0.042 over 4 weeks; published label since 9 October 2026, was flat
Market stress · 12 October 20260.03%P(high-volatility state): calm
Liquidity · week to 7 October 2026ContractingNet liquidity $5,865bn, -1.56% over 13 weeks; since 2 October 2026, was flat
Credit · stress level September 2026BenignExcess bond premium -0.39; credit conditions Tightening
Recession risk · next 12 months12%Yield-curve model, October 2026 (a year ago 28%); bond-market model 9%
Risk-off scorecard4 of 7Signals pointing risk-off; 1 four weeks ago
Nowcast accuracy · macro quadrant75.9%vs 63.6% for the last published label

Regime now: Goldilocks, with financial conditions tightening

Nowcast from Chicago Fed CFNAI-MA3, core PCE prices (BEA) and the Chicago Fed NFCI, scored on first-release data; stress from daily S&P 500 ETF returns.

The nowcast puts September 2026 in Goldilocks: growth at or above trend with core inflation not rising. Growth is estimated at +0.085 on the CFNAI-MA3 (zero is trend) and core PCE inflation at 2.94%, -0.10 points over three months. The last published label still reads Stagflation, because the official data run 75 days behind: that gap is what the nowcast exists to close.

The growth-inflation map.

Growth Above trend Accelerating

CFNAI-MA3 nowcast +0.085 for September 2026.

Inflation Falling

Core PCE 2.94% y/y, from 3.04% three months earlier.

Financial conditions Tightening · Risk Tightening

NFCI +0.042 over the 4 weeks to 9 October 2026; the threshold is ±0.02.

Liquidity Contracting · Credit Tightening Benign

Fed net liquidity -1.56% over 13 weeks; NFCI credit subindex +0.025 over 4 weeks; excess bond premium -0.39.

Market stress 0.03%

Calm-state markets have run at 13.7% realized volatility; stress-state markets at 22.6%.

Risk-off scorecard: 4 of 7 signals

One line per pillar: is it pointing risk-off right now, and since when. The count is a plain sum of the published labels, no weights and no fitting. It was 1 four weeks ago. Note that the growth signal uses the last published label (data through July 2026); the nowcast already reads above trend.

SignalNowCurrent readingSincePrevious
Financial conditions tighteningRisk-offTightening9 October 2026Flat
Credit conditions tighteningRisk-offTightening9 October 2026Flat
Fed liquidity contractingRisk-offContracting2 October 2026Flat
Credit stress elevated or worseNoBenign10 August 2024Elevated
Growth below trendRisk-offBelow trend15 July 2026Above trend
Core inflation risingNoFlat15 August 2026Rising
Market stress probability above 50%No0.03%30 June 2026Stressed

Signals pointing risk-off each Friday (shaded steps) and their 8-week average (dark red), left axis; the S&P 500 ETF (navy, right axis, log scale), from 2012.

What a high count has meant: higher volatility, not lower returns. With four or more signals on, S&P 500 ETF volatility averaged 22.9% against 11.6% with one or none, and four-week periods were up 59% of the time against 70%. Average returns were not lower: risk-off weeks are when markets pay most for bearing risk. And the count is no early warning on its own: the worst four-week fall in the sample (-31.4%) began in a week with one or no signals on. Use the count to size, not to call direction.

Signals risk-offWeeksShare of weeksSPY next 4 weeks, ann.SPY volatility4-week periods upWorst 4 weeks
0 to 123831.9%+14.0%11.6%70%-31.4%
220427.4%+9.1%13.1%67%-20.2%
316722.4%+12.1%16.5%68%-16.6%
4 or more13618.3%+19.9%22.9%59%-12.3%

What changed

Every label, the date its current reading was first published, and what it replaced.

LabelPublished labelSincePreviousData through
Macro quadrantStagflation15 July 2026Reflation2026-07-01
Growth levelBelow trend15 July 2026Above trend2026-07-01
Growth directionDecelerating15 September 2026Flat2026-07-01
Inflation directionFlat15 August 2026Rising2026-07-01
Financial conditions directionTightening9 October 2026Flat2026-10-02
Financial risk directionTightening9 October 2026Flat2026-10-02
Liquidity directionContracting2 October 2026Flat2026-10-07
Credit conditions directionTightening9 October 2026Flat2026-10-02
Credit stress levelBenign10 August 2024Elevated2026-09-01
Market stress probabilityCalm30 June 2026Stressed2026-10-13

Regime history: as published vs revised

The top row is what an investor saw on each date. The bottom row applies the same rule to today's revised data. Where they differ, a backtest on revised data would have traded a regime nobody could see at the time.

Goldilocks Reflation Stagflation Slowdown.

Data behind this section: Chicago Fed National Activity Index, 3-month average CFNAIMA3 · PCE price index excluding food and energy (core PCE) PCEPILFE · Chicago Fed National Financial Conditions Index NFCI · Chicago Fed NFCI risk subindex NFCIRISK · Federal Reserve total assets WALCL · Treasury General Account (TGA) WTREGEN · Overnight reverse repurchase agreements (Fed RRP) RRPONTSYD · Chicago Fed NFCI credit subindex NFCICREDIT · /v1/model/latest

Growth and inflation: the two axes of the quadrant

Chicago Fed National Activity Index (85 monthly indicators, 3-month average) and the BEA core PCE price index, latest vintage; labels point-in-time.

Growth is above trend when the CFNAI-MA3 is at or above zero. For the quadrant, inflation counts as rising when core PCE inflation is above its level three months earlier; the separate inflation direction label adds a ±0.05 point band, so it can read flat while the quadrant reads rising. Shading shows the quadrant label; switch between the label as published and the label on revised data.

CFNAI-MA3. Shading: macro quadrant. Axis capped at −3 and +1.5; the 2020 swing ran from -7.5 to +4.6. Drag across the chart to zoom; double-click to reset.

Core PCE inflation, year over year (line) and its 3-month change (bars). Dashed lines: the ±0.05 point band used by the inflation direction label.

The last twelve months

MonthCFNAI-MA3Core PCE y/y3-month changeQuadrant on revised dataLabel as first published
August 2026+0.013.01%-0.15Goldilocks–
July 2026-0.012.98%-0.10SlowdownStagflation
June 2026+0.013.04%-0.06GoldilocksStagflation
May 2026-0.023.16%+0.20StagflationStagflation
April 2026+0.083.08%+0.15ReflationReflation
March 2026+0.013.10%+0.23ReflationStagflation
February 2026+0.032.96%+0.24ReflationStagflation
January 2026-0.152.94%+0.23StagflationStagflation
December 2025-0.292.87%+0.05Stagflation–
November 2025-0.372.72%-0.13SlowdownSlowdown
October 2025-0.392.71%-0.14Slowdown–
September 2025-0.222.82%-0.01SlowdownStagflation

The first-published label applies the rule to the data as it was released at the time, about 75 days after the month; the revised quadrant applies it to today's data. Where they differ, the month was revised.

Data behind this section: Chicago Fed National Activity Index, 3-month average CFNAIMA3 · PCE price index excluding food and energy (core PCE) PCEPILFE · macro_quadrant · growth_level · inflation_direction

Financial conditions: tightening, easing or flat, every week

Chicago Fed National Financial Conditions Index (105 measures of risk, credit and leverage) and its risk subindex, weekly; labels point-in-time.

A move of more than 0.02 in the NFCI over four weeks labels conditions as tightening (up) or easing (down). The nowcast predicts the change for the week not yet published: for the week to 9 October 2026 it estimated +0.0389; the published figure is +0.042. Shading is the label as it was published each week.

NFCI and its risk subindex. Positive values mean tighter than average. Shading: tightening, easing, grey flat.

What happened next: one week after each label

Label at week endWeeksS&P 500 ETF next week, ann.Russell 2000 ETFSPY volatilitySPY weeks up
Easing345+11.2%+6.3%13.1%61%
Flat268+13.6%+9.2%14.8%57%
Tightening191+14.2%+18.2%22.0%54%

Tightening weeks have not been followed by lower average returns; they have been followed by much higher volatility (22.0% against 13.1% after easing weeks). The label is a risk measure, which is how it is best used: for sizing, not for direction. Price returns, distributions excluded, since 2011-05-27.

Rates, curve, inflation expectations and the dollar

The context a regime label sits in. Pick a series; shading is the macro quadrant as published. Weekly (Friday) values of the daily series.

Series

Data behind this section: Chicago Fed National Financial Conditions Index NFCI · Chicago Fed NFCI risk subindex NFCIRISK · 10-year Treasury yield DGS10 · 2-year Treasury yield DGS2 · 10-year minus 2-year Treasury spread T10Y2Y · 10-year minus 3-month Treasury spread T10Y3M · 10-year TIPS real yield DFII10 · 10-year breakeven inflation T10YIE · Effective federal funds rate DFF · Broad trade-weighted US dollar index DTWEXBGS · WTI crude oil price DCOILWTICO · US economic policy uncertainty index USEPUINDXD · fincond_direction · /v1/model/nowcast · SPY · IWM

Liquidity: is the Fed adding dollars to markets or draining them?

Federal Reserve H.4.1 balance sheet and Treasury General Account, New York Fed reverse repo operations, H.6 money stock; weekly, labels point-in-time from ALFRED vintages.

Fed net liquidity is the Fed's balance sheet less the cash that sits outside markets: the Treasury's account at the Fed and money parked in the reverse repo facility. In the week to 7 October 2026 it stood at $5,865bn, -1.56% over 13 weeks, so the label is Contracting. Fed assets $6,748bn, Treasury account $880bn, reverse repos $2.3bn, bank reserves $3,030bn. M2 is up 5.66% on the year (August 2026).

Fed net liquidity ($bn, line) and its 13-week change (%, bars). Shading: expanding, contracting, grey flat, as published each week.

M2 money stock, year-over-year change.

What happened next: one week after each label

Label at week endWeeksSPY next week, ann.IWM next week, ann.QQQ next week, ann.HYG next week, ann.TLT next week, ann.GLD next week, ann.SPY volatility
Expanding342+19.6%+17.1%+29.4%+0.7%+2.4%+4.0%17.1%
Flat172+12.7%+15.7%+17.8%+0.9%-3.9%+14.9%13.6%
Contracting284+4.6%-2.0%+5.4%-3.4%-1.3%+6.8%16.3%

Unlike financial conditions, liquidity has carried a directional signal. Since 2011 the S&P 500 ETF returned +19.6% a year in the weeks after an expanding label and +4.6% after a contracting one, at similar volatility (17.1% and 16.3%). Weekly returns are noisy and these are averages over hundreds of weeks, not a forecast for next week.

Liquidity and credit together

Next-week S&P 500 ETF return, annualized, for each combination of the two weekly labels since 2012. Expanding liquidity with easing credit returned +22.1%; contracting liquidity with credit flat or easing returned -3.0% and +2.2%. The tightening column pays more on average but with far higher volatility: those are the weeks after sell-offs, when rebounds are large and so are the risks.

Liquidity \ creditEasingFlatTightening
Expanding+22.1%
vol 14.5% · 136 weeks
+17.2%
vol 11.3% · 102 weeks
+26.3%
vol 24.0% · 82 weeks
Flat+4.1%
vol 12.8% · 75 weeks
+11.9%
vol 11.2% · 55 weeks
+22.6%
vol 17.6% · 28 weeks
Contracting+2.2%
vol 13.7% · 120 weeks
-3.0%
vol 16.0% · 88 weeks
+25.7%
vol 19.4% · 59 weeks

Data behind this section: Federal Reserve total assets WALCL · Treasury General Account (TGA) WTREGEN · Overnight reverse repurchase agreements (Fed RRP) RRPONTSYD · Reserve balances with Federal Reserve Banks WRESBAL · M2 money stock M2SL · liquidity_direction · Money, liquidity & capital flows dataset · FinzData Weekly: liquidity, flows & positioning

Credit: the price and availability of borrowing

Chicago Fed NFCI credit and leverage subindexes (weekly, ALFRED vintages), the Gilchrist-Zakrajsek excess bond premium (Federal Reserve Board, monthly), commercial paper and T-bill rates, H.8 bank credit and the Senior Loan Officer Survey.

Two labels. Credit conditions direction applies the financial-conditions rule to the NFCI credit subindex: it moved +0.025 over the 4 weeks to 2 October 2026, so Tightening. Credit stress level reads the excess bond premium, the part of corporate bond spreads not explained by default risk, which is the bond market's appetite for risk: -0.39 in September 2026, so Benign. The 3-month commercial paper spread over T-bills is +0.03 points, and the net share of banks tightening business loan standards was 0% in the latest Senior Loan Officer Survey (2026 Q3).

NFCI credit subindex (and, in the level view, the leverage subindex). Positive is tighter than average. Shading: credit conditions label as published.

Excess bond premium, the Gilchrist-Zakrajsek corporate spread and the commercial paper spread, percentage points. Shading: credit stress level (benign, elevated, stressed). Dashed lines at 0 and 0.5.

Bank lending: bank credit and C&I loans, year-over-year (lines), and the net share of banks tightening C&I standards (bars, right axis).

What happened next: credit conditions, one week later

Label at week endWeeksSPY next week, ann.IWM next week, ann.QQQ next week, ann.HYG next week, ann.TLT next week, ann.GLD next week, ann.SPY volatility
Easing331+10.8%+4.7%+18.4%-3.0%-5.5%+2.4%13.9%
Flat245+8.8%+11.2%+9.3%-3.1%+0.9%+11.4%13.2%
Tightening170+25.5%+22.2%+33.9%+6.9%-1.3%+12.0%21.4%

What happened next: credit stress, one month later

Credit stress levelMonthsSPY next month, ann.IWM next month, ann.HYG next month, ann.LQD next month, ann.TLT next month, ann.GLD next month, ann.SPY volatility
Benign172+11.7%+9.4%-1.3%-2.1%-2.8%+6.1%12.9%
Elevated61+10.7%+9.6%+0.7%+3.4%+7.1%+26.1%16.1%
Stressed28-4.2%+3.8%-4.3%+4.4%+4.1%+13.3%22.0%

Stressed credit has been the costly state: the S&P 500 ETF returned -4.2% a year in the month after a stressed reading, against +11.7% after benign ones, with volatility of 22.0% against 12.9%. One caveat in the open: the Fed re-estimates the excess bond premium every month and keeps no vintages, so this table uses today's values, not the ones published at the time. The two weekly labels are fully point-in-time.

Data behind this section: Chicago Fed NFCI credit subindex NFCICREDIT · Chicago Fed NFCI leverage subindex NFCILEVERAGE · 3-month AA financial commercial paper rate DCPF3M · 3-month Treasury bill rate DTB3 · Bank credit, all commercial banks TOTBKCR · Commercial and industrial loans, all commercial banks BUSLOANS · Net % of banks tightening C&I loan standards (SLOOS) DRTSCILM · Excess bond premium (Federal Reserve Board) · credit_direction · credit_stress · ICE BofA high-yield spread (licensed)

Recession risk: what the yield curve, the bond market and the labor market say

Treasury yields (10-year minus 3-month), the Federal Reserve Board's excess bond premium model, the real-time Sahm rule and initial jobless claims; NBER recessions shaded.

Three independent reads on the next year. The yield curve model (the New York Fed's probit on the 10-year minus 3-month spread) puts the chance of a recession within 12 months at 11.7%, from 27.9% a year ago, with the spread at +1.04 points in October 2026. The Fed's bond-market model, built on corporate credit spreads and the excess bond premium, says 9.1% (September 2026; 11.5% a year earlier). The labor market: the real-time Sahm rule reads 0.00 points against a 0.50 trigger, and initial claims average 198k over four weeks, from 228k a year ago.

Yield-curve model · October 202611.7%a year ago 27.9%
Bond-market model · September 20269.1%a year ago 11.5%
Sahm rule · September 20260.00trigger at 0.50
Initial claims, 4-week avg · 3 October 2026198ka year ago 228k

Probability of a recession within 12 months: yield-curve model and the Fed's bond-market model. Grey: NBER recessions.

Real-time Sahm rule (three-month average unemployment rate less its 12-month low). Dashed: the 0.50 trigger.

Initial jobless claims, 4-week average, thousands (axis capped; spring 2020 peaked far above).

These are published models, shown so you can set the regime labels against them; they are not FinzData labels and carry no FinzData track record. The yield-curve probability uses the New York Fed's published coefficients on the monthly average spread; the bond-market probability is the Federal Reserve Board's own estimate, published with the excess bond premium.

Data behind this section: 10-year minus 3-month Treasury spread T10Y3M · Real-time Sahm rule recession indicator SAHMREALTIME · Initial jobless claims ICSA · NBER recession indicator USREC · Yield curve as a leading indicator (New York Fed) · Recession risk and the excess bond premium (Federal Reserve Board)

Market stress: the probability of the high-volatility state

Two-state Gaussian Markov-switching model of daily S&P 500 ETF returns and 10-day volatility, z-scored causally, refit every 126 sessions on a rolling 750-session window. Filtered, walk-forward: each value uses only data up to that close.

The model reads 0.03% today. Across 7,666 sessions since 1996, markets spent 29.5% of days above 90% and 64.0% below 10%; it found 104 stress episodes, 36 of them lasting a month or more. The point is not direction: next-day returns were similar in both states. The point is risk: realized volatility over the following month averaged 22.6% after high-stress days against 13.7% after calm ones, and the worst next day was -10.9% against -5.7%.

Top: S&P 500 ETF, log scale, shaded red on days the stress probability was above the threshold set below. Bottom: the filtered probability itself.

Drawdown from the running peak. Red shading: days above the threshold set below.

What each probability level has meant

P(stress) at the closeSessionsShare of historyNext-day return, ann.Next-day volatility, ann.Next 21-day realized volWorst next daySharpe
Below 10%4,90964.0%+6.6%13.9%13.7%-5.7%0.48
10% to 50%2453.2%+7.4%19.5%16.6%-6.5%0.38
50% to 90%2503.3%+31.8%16.4%17.2%-3.1%1.93
Above 90%2,26129.5%+8.9%27.7%22.6%-10.9%0.32

Try it: a stress-aware S&P 500 allocation

Hold the ETF, and cut exposure when yesterday's stress probability is above the threshold. Positions use the previous close's probability, cash earns the 3-month T-bill, and every change in exposure pays the cost you set. This is an illustration of how the series behaves, not a recommendation.

When stressed

Growth of $1, . Change "Show data from" to move the start.

MeasureBuy and holdStress-aware
Loading…

Recent stress episodes (probability above 50%)

StartEndSessionsS&P 500 ETF over the episode
2026-06-152026-06-2910-1.8%
2026-03-312026-04-1410+6.8%
2025-05-212025-05-285+0.8%
2025-05-122025-05-154+1.3%
2025-03-052025-05-0745-3.8%
2024-12-182025-01-0713+0.4%
2024-11-072024-11-199-0.9%
2024-09-112024-09-197+3.0%
2024-07-242024-08-2121+3.6%
2023-11-142023-11-141+0.0%
2023-11-022023-11-107+2.3%
2023-05-082023-05-125-0.3%

Data behind this section: 3-month Treasury bill rate DTB3 · S&P 500 ETF (SPY) daily bars · /v1/prices/daily?symbol=SPY · /v1/model/stress

Regimes and returns: what each quadrant has paid, with and without hindsight

Next-month price returns of 22 ETFs, grouped by the macro quadrant known at the previous month end, since 2011-06-15.

With labels as published, the S&P 500 ETF returned +26.5% a year in Goldilocks months and +12.4% in Slowdown months. Switch to revised data and the picture moves: Goldilocks shows +8.4% and Stagflation +9.5% (against +12.5% as published). The difference is the cost of hindsight, and it is why every FinzData label carries the date it was known.

ETFGoldilocks
33 months
Reflation
42 months
Stagflation
50 months
Slowdown
60 months
SPY S&P 50026.52.412.512.4
QQQ Nasdaq-10029.24.720.420.3
IWM Russell 200031.90.613.51.0
EFA Developed ex-US17.8-5.27.71.9
EEM Emerging markets11.6-7.414.7-1.9
TLT 20+ yr Treasuries-4.1-0.43.7-1.3
IEF 7-10 yr Treasuries-2.8-1.31.50.5
LQD IG corporates0.3-3.82.20.1
HYG High yield4.4-5.6-0.1-1.0
GLD Gold-7.4-1.122.89.7
DBC Commodities-5.59.211.3-5.0
UUP US dollar1.14.6-0.93.9
VNQ REITs19.95.54.2-5.3
XLK Technology31.24.823.620.4
XLF Financials33.42.87.78.4
XLE Energy24.112.17.6-4.9
XLV Health care13.18.714.59.1
XLP Staples13.31.18.17.5
XLY Discretionary33.60.69.413.1
XLI Industrials38.4-4.713.36.4
XLU Utilities14.09.45.82.7
XLB Materials28.1-2.010.21.6

Annualized return, % over the month after each label, as published. Price returns, distributions excluded.

How long regimes last

Monthly transition probabilities on revised data since 2004 (269 months). Regimes are persistent: the chance of staying put next month runs from 54% to 74%, which is what makes a label worth trading on at all.

From \ toGoldilocksReflationStagflationSlowdownAverage spellShare of months
Goldilocks54%22%5%20%2.1 months15.6%
Reflation14%71%10%4%3.5 months25.7%
Stagflation6%11%63%20%2.7 months24.2%
Slowdown6%3%16%74%3.9 months34.6%

Data behind this section: Chicago Fed National Activity Index, 3-month average CFNAIMA3 · PCE price index excluding food and energy (core PCE) PCEPILFE · SPY · QQQ · IWM · EFA · EEM · TLT · IEF · LQD · HYG · GLD · DBC · UUP · VNQ · XLK · XLF · XLE · XLV · XLP · XLY · XLI · XLU · XLB

Track record: scored against first-release data

Point-in-time labels since 2005 (inflation) and 2011 (growth and financial conditions); nowcast scored walk-forward. Realized labels use the first release of each period.

The fair benchmark for any nowcast is the label you can already read off the last published data. For the macro quadrant that label was right 63.6% of the time for the month that mattered; the nowcast was right 75.9%. For weekly financial conditions: 71.3% against 79.5%. The liquidity and credit labels have no nowcast yet; their published labels were right 79.3% and 71.4% of the time for the following week. The forward record, scored only on dates after the model was frozen, is accumulating and will be published here as it matures.

LabelCadenceObservationsSincePublished label correctNowcast correct (walk-forward)LiftMedian data lag
Macro quadrantMonthly1842011-06-1563.6%75.9%+12.3 pts75 days
Growth levelMonthly1842011-06-1580.4%87.6%+7.1 pts75 days
Growth directionMonthly1822011-06-1550.0%76.3%+26.3 pts75 days
Inflation directionMonthly2612005-01-1563.6%81.1%+17.5 pts75 days
Financial conditions directionWeekly8022011-05-2771.3%79.5%+8.2 pts7 days
Financial risk directionWeekly7442012-07-0676.6%80.2%+3.6 pts7 days
Liquidity directionWeekly7962011-07-0879.3%–No nowcast yet2 days
Credit conditions directionWeekly7442012-07-0671.4%–No nowcast yet7 days
Series

Published label (rows) against the label realized for that period (columns), counts. The diagonal is where the published label was right; the off-diagonal cells are the turning points the nowcast is built to catch.

Data behind this section: /v1/model/labels returns label and realized_label for every date, so you can rescore any of this yourself

Methodology: every rule, written down

Labels are computed from each input as it was published on the as-of date (ALFRED vintages), so history contains no later revisions. realized_label is the same rule applied to the first release of the target period, filled once that period is published. The same rules are returned by /v1/model/catalog, free.

Financial conditions direction weekly

TIGHTENING if the Chicago Fed National Financial Conditions Index (NFCI) rose by more than 0.02 over the 4 weeks to the latest published week; EASING if it fell by more than 0.02; otherwise FLAT.

Inputs: Chicago Fed NFCI (Federal Reserve Bank of Chicago, via FRED/ALFRED) · Labels: Easing, Flat, Tightening · API

Financial risk direction weekly

The same rule applied to the NFCI risk subindex (volatility and funding risk in the financial sector).

Inputs: Chicago Fed NFCI risk subindex (via FRED/ALFRED) · Labels: Easing, Flat, Tightening · API

Growth level monthly

ABOVE_TREND if the Chicago Fed National Activity Index 3-month average (CFNAI-MA3) for the latest published month is at or above 0; otherwise BELOW_TREND.

Inputs: CFNAI-MA3 (Federal Reserve Bank of Chicago, via FRED/ALFRED) · Labels: Above trend, Below trend · API

Growth direction monthly

ACCELERATING if CFNAI-MA3 is more than 0.05 above its value three months earlier; DECELERATING if more than 0.05 below; otherwise FLAT.

Inputs: CFNAI-MA3 (via FRED/ALFRED) · Labels: Accelerating, Decelerating, Flat · API

Inflation direction monthly

RISING if core PCE inflation (year over year) is more than 0.05 percentage points above its value three months earlier; FALLING if more than 0.05 below; otherwise FLAT.

Inputs: PCE price index excluding food and energy (BEA, via FRED/ALFRED) · Labels: Falling, Flat, Rising · API

Macro quadrant monthly

GOLDILOCKS = growth at or above trend and core PCE inflation not rising; REFLATION = above trend and rising; STAGFLATION = below trend and rising; SLOWDOWN = below trend and not rising. For the quadrant, inflation counts as rising when core PCE inflation (y/y) is above its value three months earlier by any amount; the 0.05-point band applies only to the inflation direction label.

Inputs: CFNAI-MA3 and core PCE (via FRED/ALFRED) · Labels: Goldilocks, Reflation, Slowdown, Stagflation · API

Liquidity direction weekly

Fed net liquidity = Federal Reserve total assets (WALCL) minus the Treasury General Account (WTREGEN) minus overnight reverse repos (RRPONTSYD), Wednesday levels. EXPANDING if net liquidity rose more than 1.0% over the 13 weeks to the latest published week; CONTRACTING if it fell more than 1.0%; otherwise FLAT.

Inputs: Federal Reserve H.4.1 (WALCL, WTREGEN) and New York Fed reverse repo operations (RRPONTSYD), via FRED/ALFRED · Labels: Contracting, Expanding, Flat · API

Credit conditions direction weekly

TIGHTENING if the Chicago Fed NFCI credit subindex rose by more than 0.02 over the 4 weeks to the latest published week; EASING if it fell by more than 0.02; otherwise FLAT.

Inputs: Chicago Fed NFCI credit subindex (NFCICREDIT, via FRED/ALFRED) · Labels: Easing, Flat, Tightening · API

Credit stress level monthly

Gilchrist-Zakrajsek excess bond premium: BENIGN below 0, ELEVATED from 0 to 0.5, STRESSED at 0.5 or above. The Federal Reserve re-estimates the premium each release and keeps no vintages, so this history uses current published values.

Inputs: Excess bond premium (Federal Reserve Board, Gilchrist and Zakrajsek 2012, updated monthly) · Labels: Benign, Elevated, Stressed · API

Market stress probability daily

Filtered probability of the high-volatility state in a two-state Markov-switching model of daily S&P 500 ETF returns, refit on a rolling window. Filtered (not smoothed): each value uses only data up to that session.

Inputs: Daily S&P 500 ETF closes · API

The nowcast

Published labels describe a period that has already ended: monthly inputs arrive about 75 days late and the NFCI a week late. Each day the nowcast estimates the label for the period not yet published, from market data available by that date, and keeps the published label beside it. Weekly, it predicts the 4-week NFCI change; monthly, it estimates CFNAI-MA3 and core PCE inflation for the target month and applies the same rules. It is scored on the first release of each period, never on later revisions.

The stress model

A two-state Gaussian Markov-switching model (Hamilton filter, EM estimation) on two causally standardized features: the daily log return of the S&P 500 ETF and its 10-day volatility. States are ordered by variance at every refit, so state 1 is always the high-volatility state. The model is refit every 126 sessions on the last 750; between refits the parameters are frozen and the filter runs forward. Values are filtered, not smoothed: no value uses data after its own close. The history on this page is the same specification run over the full price history; the live value is the one the API serves.

The risk-off scorecard

Each Friday, one point for each of: financial conditions tightening, credit conditions tightening, Fed liquidity contracting, credit stress elevated or stressed, growth below trend, core inflation rising, and a market stress probability above 50%. Every input is the label as published that day, carried forward until the next publication; no weights, no fitting. The credit stress level is the one input built on current rather than first-published data.

Recession indicators

Yield-curve probability: Φ(−0.5333 − 0.6330 × spread), where spread is the monthly average of the 10-year minus 3-month Treasury yield, the New York Fed's published specification for a recession within 12 months. Bond-market probability: the Federal Reserve Board's published estimate from the Gilchrist-Zakrajsek spread and excess bond premium. Sahm rule: the real-time series published by the St. Louis Fed. Initial claims: the Department of Labor weekly series, 4-week average.

What the model does not do

It does not forecast returns, and the tables above show why it should not be read that way: the regime and stress labels describe the risk environment. Labels can be wrong for weeks around turning points, and the walk-forward scores above include those weeks. Nothing here is investment advice.

The data behind the model

Every input, from the FinzData database. Macro values are the latest vintage; each series page shows the full history and every revision, and as_of= returns any series as it was published on a date. Licensed series are listed with their API endpoint only. Download this page's data as JSON or CSV.

Macro and market series

SeriesUsed forUnitLatestDateData
Chicago Fed National Activity Index, 3-month average
CFNAIMA3
Growth labels, nowcastIndex0.012026-08-01Page · API
PCE price index excluding food and energy (core PCE)
PCEPILFE
Inflation labels, nowcastIndex 2017=100130.4552026-08-01Page · API
Chicago Fed National Financial Conditions Index
NFCI
Financial conditions labelIndex-0.4942026-10-02Page · API
Chicago Fed NFCI risk subindex
NFCIRISK
Financial risk labelIndex-0.5762026-10-02Page · API
10-year Treasury yield
DGS10
Cross-asset context%5.24%2026-10-09Page · API
2-year Treasury yield
DGS2
Cross-asset context%4.80%2026-10-09Page · API
10-year minus 2-year Treasury spread
T10Y2Y
Cross-asset context% pts0.42%2026-10-13Page · API
10-year minus 3-month Treasury spread
T10Y3M
Recession risk (yield curve); cross-asset% pts0.95%2026-10-13Page · API
10-year TIPS real yield
DFII10
Cross-asset context%2.91%2026-10-09Page · API
10-year breakeven inflation
T10YIE
Cross-asset context%2.33%2026-10-09Page · API
5-year breakeven inflation
T5YIE
Cross-asset context%2.33%2026-10-13Page · API
Effective federal funds rate
DFF
Cross-asset context%3.88%2026-10-08Page · API
3-month Treasury bill rate
DTB3
Stress backtest cash; commercial paper spread%4.05%2026-10-08Page · API
Broad trade-weighted US dollar index
DTWEXBGS
Cross-asset contextIndex Jan 2006=100121.6022026-10-09Page · API
WTI crude oil price
DCOILWTICO
Cross-asset context$ per barrel96.242026-10-06Page · API
US economic policy uncertainty index
USEPUINDXD
Cross-asset contextIndex242.692026-10-11Page · API
Federal Reserve total assets
WALCL
Liquidity label (net liquidity)$bn6,7482026-10-07Page · API
Treasury General Account (TGA)
WTREGEN
Liquidity label (net liquidity)$bn880.2532026-10-07Page · API
Overnight reverse repurchase agreements (Fed RRP)
RRPONTSYD
Liquidity label (net liquidity)$bn0.2752026-10-13Page · API
Reserve balances with Federal Reserve Banks
WRESBAL
Liquidity context$bn3,0302026-10-07Page · API
M2 money stock
M2SL
Liquidity context$bn23,3432026-08-01Page · API
Chicago Fed NFCI credit subindex
NFCICREDIT
Credit direction labelIndex-0.0262026-10-02Page · API
Chicago Fed NFCI leverage subindex
NFCILEVERAGE
Credit contextIndex0.1372026-10-02Page · API
Bank credit, all commercial banks
TOTBKCR
Credit context$bn19,8832026-09-30Page · API
Commercial and industrial loans, all commercial banks
BUSLOANS
Credit context$bn2,9592026-09-01Page · API
3-month AA financial commercial paper rate
DCPF3M
Commercial paper spread%4.07%2026-10-06Page · API
Net % of banks tightening C&I loan standards (SLOOS)
DRTSCILM
Credit context%0.00%2026-07-01Page · API
Real-time Sahm rule recession indicator
SAHMREALTIME
Recession risk (labor)% pts0.00%2026-09-01Page · API
Initial jobless claims
ICSA
Recession risk (labor)Number197,0002026-10-03Page · API
NBER recession indicator
USREC
Recession shading0/102026-09-01Page · API
Cboe Volatility Index (VIX)
VIXCLS
Cross-asset contextIndexLicensed: via API2026-10-12Page · API
Moody's Baa corporate yield minus 10-year Treasury
BAA10Y
Cross-asset context% ptsLicensed: via API2026-10-09Page · API
Moody's Aaa corporate yield minus 10-year Treasury
AAA10Y
Cross-asset context% ptsLicensed: via API2026-10-09Page · API

ETF prices

ETFNameHistory usedData
SPYS&P 5001993-01-29 to 2026-10-13Page · API
QQQNasdaq-1001999-03-10 to 2026-10-13Page · API
IWMRussell 20002000-05-26 to 2026-10-13Page · API
EFADeveloped ex-US2001-08-20 to 2026-10-13Page · API
EEMEmerging markets2003-04-14 to 2026-10-13Page · API
TLT20+ yr Treasuries2002-07-30 to 2026-10-13Page · API
IEF7-10 yr Treasuries2002-07-30 to 2026-10-13Page · API
LQDIG corporates2002-07-29 to 2026-10-13Page · API
HYGHigh yield2007-04-11 to 2026-10-13Page · API
GLDGold2004-11-18 to 2026-10-13Page · API
DBCCommodities2006-02-06 to 2026-10-13Page · API
UUPUS dollar2007-03-01 to 2026-10-13Page · API
VNQREITs2004-09-29 to 2026-10-13Page · API
XLKTechnology1998-12-22 to 2026-10-13Page · API
XLFFinancials1998-12-22 to 2026-10-13Page · API
XLEEnergy1998-12-22 to 2026-10-13Page · API
XLVHealth care1998-12-22 to 2026-10-13Page · API
XLPStaples1998-12-22 to 2026-10-13Page · API
XLYDiscretionary1998-12-22 to 2026-10-13Page · API
XLIIndustrials1998-12-22 to 2026-10-13Page · API
XLUUtilities1998-12-22 to 2026-10-13Page · API
XLBMaterials1998-12-22 to 2026-10-13Page · API

Model API

EndpointReturnsPlan
GET /v1/model/catalogEvery series, its rule, cadence, inputs and allowed labelsFree
GET /v1/model/latestCurrent label for every series, the nowcast and the latest stress probabilityLook-back plans
GET /v1/model/labels?series=macro_quadrantPoint-in-time label history with data_through and realized_labelLook-back plans
GET /v1/model/nowcastDaily nowcast snapshots: labels, predicted 4-week NFCI change, CFNAI-MA3 and core PCE estimatesLook-back plans
GET /v1/model/stressDaily filtered probability of the high-volatility stateLook-back plans
GET /v1/macro?series=NFCI&as_of=2020-03-20Any input series as it was published on a date (ALFRED vintages)Free (12 months)
GET /v1/prices/daily?symbol=SPYDaily ETF bars used for the returns and the stress modelFree (12 months)

Rebuild it in Python

import finzdata                                    # pip install finzdata
c = finzdata.Client()
now    = c.model("latest")                         # every label, the nowcast and today's stress probability
quad   = c.model("labels", series="macro_quadrant")  # point-in-time history with realized_label
stress = c.model("stress", start="2007-01-01")     # daily filtered P(high-volatility state)
nfci_then = c.macro("NFCI", as_of="2020-03-20")    # the input as it was published that day
spy    = c.prices("SPY")                           # daily bars for the S&P 500 ETF

# score the published label yourself
hit = (quad.label == quad.realized_label).mean()

Get a free API key   Model access and look-back plans · Browse all macro series · Research

Sources: Federal Reserve Bank of Chicago (CFNAI, NFCI and subindexes), U.S. Bureau of Economic Analysis (PCE prices), Board of Governors of the Federal Reserve System (H.4.1, H.6, H.8, Senior Loan Officer Survey, excess bond premium), Federal Reserve Bank of New York (reverse repo), U.S. Treasury (rates, Treasury General Account), via FRED and ALFRED; ETF prices from FinzData. Built for AI, quants, data scientists and financial analysts who backtest. Clean data. Real insights. Real alpha. finzdata.com. For information only; not investment advice.