Market Pulse Index (MPI) — Methodology

Market Pulse Index (MPI) — Methodology

AZTMM Methodology · Last updated 2026-07-07 · Version 2.0

The Market Pulse Index (MPI) is a composite scoring framework designed to summarize the current observable state of US equity market conditions in a single 0–100 number. It is built from multiple independent sub-indicators that each measure a different facet of market behavior — trend, breadth, volatility, rates, credit, sentiment, sector rotation, currency context, and liquidity. The output is a snapshot, not a forecast.

1. What MPI is

MPI is a composite score on a 0–100 scale where higher values indicate that the observable evidence across the multi-factor inputs is, on balance, consistent with constructive equity conditions, and lower values indicate evidence that is, on balance, consistent with deteriorating conditions. A reading of 50 represents a neutral mix of inputs.
Critically, MPI is not a recommendation. It does not say to buy, sell, hedge, or wait. It does not predict the next directional move in SPY, the S&P 500, or any individual security. It does not produce a price target. The number reflects only what is currently observable across the inputs at the most recent measurement window. A reading of 79 today does not imply that tomorrow’s reading will be similar, nor that next week’s outcome will be favorable.
The framing throughout MPI is observational. Each sub-indicator is a measurement of something already published — a closing price, a yield, a published spread, a survey result. MPI aggregates these measurements into a single comparable number so a reader can see at a glance whether the current cross-section of evidence is broadly aligned or broadly conflicting. When sub-indicators disagree, the confidence interval widens; when they cluster tightly, the confidence interval narrows. Both states are themselves useful information.
MPI sits alongside the regime classifier as a complementary tool. Where the regime classifier produces a discrete state label (Bull / Sideways / Bear) with an associated model confidence, MPI produces a continuous score with an associated dispersion band. The two are not weighted into each other; they are independent outputs that a reader can compare.

Today’s reading (illustrative): MPI 79 · regime: Bull · component dispersion: low. Numbers on this page describe the framework, not a live feed.

2. The MPI sub-indicators

Each of the sub-indicators below measures a different facet of market behavior and contributes a sub-score to the composite. Inputs span trend, breadth, volatility, rates, credit, sentiment, sector rotation, currency context, and liquidity. Each is normalized to a 0–100 sub-score using a percentile rank or z-score transformation against its own rolling lookback, so that all sub-scores live on the same comparable scale before being averaged. Specific normalization windows, formulas, and weights are deliberately not published — what we publish is the category-level structure and the final composite output. The concrete source behind every category — including inputs that have been retired — is accounted for line-by-line on the Data Sources page.

2.1 Trend & momentum

Trend Measures whether the broad market is in a sustained directional move and how confidently it is doing so. Inputs include moving-average relationships and trend stability. Source category: publicly available US equity exchange data.

2.2 Breadth

Breadth Measures whether risk-on cyclical sectors are leading risk-off defensive sectors, which historically corresponds to broader participation in advances. Measured at the sector-ETF level (cyclical-vs-defensive ratios and small-cap relative strength), not from single-stock advance/decline lines — a design choice disclosed on the Data Sources page. Source category: publicly available US sector ETF data.

2.3 Volatility

Volatility Measures the price of expected near-term realized volatility and the slope of the volatility term structure (VIX and VIX3M). Source category: publicly available exchange-published index values.

2.4 Yield curve

Rates Measures the shape of the US Treasury yield curve, a long-watched recession proxy. Source category: publicly available US Treasury / FRED-published series.

2.5 Credit spreads

Credit Measures the option-adjusted spread of US high-yield corporate bonds over Treasuries, a leading indicator of corporate stress. Source category: publicly available FRED-published bond series.

2.6 Sentiment

Sentiment Measures retail investor mood. Currently sourced from a single broad public daily sentiment composite — the independent weekly retail survey that previously fed this sub-indicator was retired in June 2026 when its free public feed went dark, and restoring an independent survey input is an open roadmap item. See the Data Sources page for the full accounting. Source category: publicly available sentiment data.

2.7 Sector rotation

Rotation Measures whether leadership is in offensive sectors or has rotated to defensive ones, using sector-ETF return spreads. Source category: publicly available US sector ETF data.

2.8 Currency

FX Measures the cross-asset context via the US dollar trend, which historically informs the equity backdrop. The dollar is measured via a published dollar-index ETF as a proxy (disclosed in the feed itself). The crude-oil input previously in this category was retired — see the changelog and Data Sources page. Source category: publicly available US-listed ETF data.

2.9 Liquidity

Liquidity Measures the slow-moving macro liquidity backdrop based on broad money-supply trends. Source category: publicly available FRED-published macro series.

3. How they combine

The headline MPI is a weighted aggregation of the sub-scores. The aggregation is deliberately structured so that no single fast-moving input can dominate the headline number on a single noisy day, and so that slow-moving inputs (rates, liquidity) carry appropriate weight in the longer-horizon read.
Alongside the headline, MPI publishes a confidence band that reflects the dispersion across the sub-scores. When the inputs cluster tightly, the band is narrow (e.g., MPI 79 with a small dispersion), which is the “all signals agree” case. When the sub-scores diverge widely, the band is wide, which signals that the cross-section of evidence is genuinely conflicting and the headline number alone is less informative.

4. Update cadence

MPI is recomputed twice each weekday: a pre-market refresh at 09:15 ET, which incorporates overnight FRED publications and any after-hours sentiment updates, and a post-close refresh at 18:00 ET with a 22:00 ET safety-net pass (market days only — Mon-Fri excluding NYSE holidays), which incorporates the day’s closing prices, settled VIX, and end-of-day sector ETF closes. The post-close window was moved off its original 16:30 ET slot in May 2026 after a data-staleness incident: exchange end-of-day files can post well after the close, and computing before they roll meant scoring yesterday’s bar under today’s label. The site does not refresh MPI on weekends or US market holidays. Inputs that publish on different cadences carry their last published value forward until the next refresh; this is the standard treatment for daily aggregation of mixed-frequency data.
A staleness flag is attached to each sub-indicator. If any input has not been refreshed for more than 18 hours during a normal trading week (excluding weekends and holidays), the sub-indicator is flagged stale and the headline MPI shows a banner indicating partial data. M2 (monthly, lagged) carries a built-in expected staleness window that is not flagged.

5. Calibration & backtesting

MPI was constructed against historical data from January 2020 onward, with the post-2024 period treated as the live calibration window. The framework was deliberately designed so that the regime transitions a careful market participant would have flagged ex-post are also visible in the MPI series ex-ante.
Reference transitions used for calibration include: the April 2024 shift from a steady Bull regime to a wider, more volatile Sideways regime as breadth narrowed; the August 2024 yen-carry-trade unwind and the brief volatility cluster that followed; the January 2025 Bull→Bear→Bull whipsaw, which the MPI framework captured as a sharp drop in the headline alongside a widening of the confidence band; and the April 2026 regime flip, where credit spreads and breadth deteriorated several sessions before the trend sub-indicator turned over.
We do not publish a single “hit rate” number for MPI directional bias. The reason is twofold. First, MPI is not a directional signal; framing it as “right vs wrong” would misrepresent its purpose. Second, any backtest of a discretionary regime tool can be made to look better than its forward-going behavior by tuning lookbacks. Instead, the calibration commitment is qualitative and rolling: each month a brief calibration note is appended to the MPI changelog at /methodology/mpi-changelog/, describing how the headline tracked the realized regime, where it led, where it lagged, and which sub-indicator was most informative for the period.
This is the calibration framework. Monthly performance reports and any methodology adjustments are added to the changelog as they happen, so a reader can see the full version-and-accuracy history without it being filtered through hindsight.

6. What MPI doesn’t do

  • Not a buy/sell signal. A high MPI does not say buy. A low MPI does not say sell. The number reflects observed conditions, not a prescription.
  • Not a price target. MPI does not estimate where SPY, the S&P 500, or any individual security will trade tomorrow, next week, or next quarter.
  • Not a timing tool. The number does not predict when the next inflection will occur. Regimes can persist for months at high or low MPI readings without resolving.
  • Not a position sizing tool. Sizing depends on portfolio context, risk tolerance, time horizon, and instrument selection — none of which MPI knows about.
  • Not a substitute for individual judgment. MPI is one input among many. A reader should never delegate a decision to it.

7. Limitations

The framework has several known limitations that a reader should understand before assigning weight to any single MPI reading:

  • Sub-indicator weighting is a choice, not a fact. Treating fast-moving inputs (sentiment, volatility) and slow-moving inputs (rates, liquidity) at the same nominal weight is a deliberate simplification. A reader who watches MPI day-over-day should expect to see noise on the fast inputs that does not always correspond to an underlying regime change.
  • Credit spread lag. The high-yield credit spread series is published on business days only, so it goes stale on weekends and holidays. During a Friday-to-Monday gap that includes meaningful corporate news, the credit sub-indicator reflects Friday’s spread until Monday’s publication.
  • Liquidity reporting lag. The macro money-supply series is published monthly with a lag. The liquidity sub-indicator is therefore the slowest-moving and effectively a long-cycle backdrop reading rather than a near-term measurement.
  • Sentiment concentration. The sentiment sub-indicator currently rests on a single public daily composite (see Data Sources). A one-source input is more fragile than a blended one, and the composite itself overlaps dimensions we measure directly elsewhere; its weight is constrained accordingly, and restoring an independent survey input is an open roadmap item.
  • Lookback choice. Percentile-rank lookbacks are choices, not facts. We have selected lookbacks we believe match the natural time-scale of each input, but a reasonable reader could choose differently and arrive at a different MPI.
  • Survivorship and definitional drift. Sector ETF compositions change over time as index methodology evolves. The breadth and rotation sub-indicators inherit this drift implicitly.

Composite Compression — what gets lost

Reducing multiple sub-indicators to a single 0-100 score is structurally lossy. Two markets with identical MPI scores can have very different underlying conditions — one driven by sentiment + breadth (vulnerable to fast reversal), another by macro + credit (more durable). The MPI alone does not surface which inputs are doing the work.

How to mitigate: always read the MPI alongside the sub-indicator grid on the Pulse Lab. The grid shows which inputs are above their historical baseline and which are dragging.

Roadmap: regime-conditional adaptive weighting is documented in the MPI changelog as a Q3 2026 evaluation item. Until then, consider the score directional, not surgical.

Descriptive, not predictive

The MPI describes current observable market state. It is not a forecast. It does not predict next week’s returns. It does not generate buy/sell signals.

What it actually does: compresses multiple measurable inputs into a single ordinal classification of where the market is right now. A score of 79 means “current state is bullish across most measured dimensions.” It does NOT mean “stocks will rise next week.”

False-confidence warning

A precise 0-100 score with a confidence interval can feel like science. It isn’t, in the strict sense — it’s a structured observation, not a tested prediction.

Don’t treat MPI 79 as “85% probability the market goes up.” Treat it as “today’s market state, scored against the rolling historical baseline, leans bullish.” The score has no published Sharpe ratio, no audited live track record, and no walk-forward validation. We will publish those when methodology is stable enough — see the Performance Archive for current honest framing.

8. Versioning

This document describes MPI schema version 2.0, first live on 2026-05-08 and last reconciled against the live pipeline on 2026-07-07 (source retirements and cadence corrections — no scoring changes, so the schema number is unchanged). The schema number changes whenever a sub-indicator is added, removed, or has its normalization formula or lookback window changed. Tuning of internal parameters that does not affect the published number is logged but does not bump the schema. Every change — both schema bumps and parameter tunings — is recorded with a date, the change, and the rationale at /methodology/mpi-changelog/.

9. Glossary

  • Backwardation. A volatility term-structure shape where shorter-dated implied volatility is higher than longer-dated implied volatility. Often associated with stress.
  • Breadth. The degree to which an advance or decline is broadly shared across many sectors and stocks rather than concentrated in a few.
  • Cadence. The regular schedule on which a data series is updated (e.g., daily, weekly, monthly).
  • Confidence band. A measure of how much the MPI sub-scores disagree. A wider band means the inputs disagree more.
  • Contango. A volatility term-structure shape where shorter-dated implied volatility is lower than longer-dated implied volatility. Typical in calm regimes.
  • FRED. Federal Reserve Economic Data, the public macro database published by the St. Louis Fed.
  • HY OAS. High-yield option-adjusted spread; the spread of high-yield corporate bonds over Treasuries, adjusted for embedded options.
  • M2. A broad measure of the US money supply published by the Federal Reserve.
  • Percentile rank. The fraction of historical observations in a chosen lookback window that are below the current observation; a value from 0 to 1 (or 0 to 100 when scaled).
  • Term structure. The set of prices or yields for the same instrument at different maturities.
  • VIX, VIX3M. Cboe Volatility Index at the 30-day and 3-month tenors.
  • z-score. A standardization that expresses an observation in units of standard deviations above or below its rolling mean.
Last updated: 2026-07-07 · Version: 2.0 · Changelog: /methodology/mpi-changelog/

Subscribe to AZTMM Research

Daily Pulse weekdays after close · Weekly Pulse Saturday morning. Research-grade observations from one trader. Unsubscribe with one click.

We don’t spam! Read our privacy policy for more info.