A complete, systematic framework for trading the ISM Manufacturing PMI release. Classify the three key sub-indices into a macro scenario, map it to concrete positions, and execute with confidence 鈥?no guesswork, no spreadsheet sprawl.
The ISM Manufacturing PMI (Purchasing Managers' Index) is a monthly economic indicator published by the Institute for Supply Management on the first business day of each month. It surveys purchasing managers at over 300 manufacturing firms across the United States, asking whether activity in their sector is expanding, contracting, or unchanged compared to the prior month.
The headline number is a composite index. A reading above 50 signals that the manufacturing economy is generally expanding; below 50 signals contraction. The further from 50, the stronger the signal. This makes PMI one of the most timely, actionable macro data points a trader can use 鈥?it lands before GDP, before employment, and before most Fed speakers react.
But the headline alone is not enough. To build a real ISM PMI trading strategy, you need three numbers from the release:
These three values form a triple that encodes both the growth regime and the inflation regime simultaneously. That is the foundation of the scenario engine.
Markets move on surprises, not levels. The ISM PMI release is a high-impact scheduled event that routinely moves equities, bonds, the dollar, and commodities within seconds of the 10:00 AM ET print. Here is why it is uniquely tradeable:
The core of the strategy is classifying the PMI triple into one of five scenarios. Each scenario has a distinct risk appetite profile and maps to concrete trading actions. Here is the classification logic:
Growth above 52 with contained prices (Prices Paid below ~72). The sweet spot for risk assets.
RISK-ONSolid growth with mildly elevated prices. Constructive but selective.
RISK-ON (selective)Growth cooling toward 50 while prices ease. The Fed's target path.
NEUTRALSub-50 headline with falling new orders. Defensive posture.
RISK-OFFMixed signals that don't fit a clean bucket. Low confidence.
WAITThe engine applies a priority-ordered rule set. Each rule checks the headline (h), new orders (n), and prices paid (p):
# Priority-ordered scenario classification
if h >= 53 and n >= 54 and p <= 72:
鈫?GOLDILOCKS (RISK-ON, confidence 85-95)
elif h >= 52 and n >= 52 and p <= 75:
鈫?MODERATE (RISK-ON selective, confidence 70-84)
elif 50 <= h < 52 and n >= 50 and p <= 70:
鈫?SOFT LANDING (NEUTRAL, confidence 55-74)
elif h < 50 or n < 50:
鈫?CONTRACTION (RISK-OFF, confidence 75-90)
else:
鈫?AMBIGUOUS (WAIT, confidence < 55)
Confidence is computed from how cleanly the triple sits inside the scenario's boundaries 鈥?a triple deep in the Goldilocks zone scores 95; one near the edge scores 70. This confidence score is the key output: it tells you how aggressively to size the trade.
Once the scenario is classified, the engine maps it to concrete positions across four instruments. Each action has a direction (long/short/flat) and a priority (high/medium/low) that scales with confidence:
| Scenario | SPY (Equities) | US10Y (Bonds) | BTC (Crypto) | CRDO (Commodities) |
|---|---|---|---|---|
| 馃嵂 Goldilocks | LONG (high) | SHORT (high) | LONG (medium) | LONG (medium) |
| 鈿栵笍 Moderate | LONG (medium) | FLAT | LONG (low) | LONG (low) |
| 馃獋 Soft Landing | FLAT | LONG (medium) | FLAT | LONG (low) |
| 馃搲 Contraction | SHORT (high) | LONG (high) | SHORT (medium) | FLAT |
| 鉂?Ambiguous | FLAT | FLAT | FLAT | FLAT |
The logic: Goldilocks means growth is strong and inflation is contained 鈥?the Fed is on hold, so you buy risk and sell duration. Contraction is the mirror: growth is rolling over, so you sell risk and buy bonds (flight to safety). Soft Landing is the trickiest 鈥?growth is decelerating but not collapsing, so you hold bonds (Fed cutting) but stay flat equities until the dust settles.
Let's walk through the actual August 2026 release to show the strategy in action. The ISM Manufacturing PMI printed:
Feeding this triple into the engine:
$ curl -X POST https://macro-scenario-api.onrender.com/classify_scenario \
-H "Content-Type: application/json" \
-d '{"headline":55.6,"new_orders":54.2,"prices_paid":71.1}'
{
"scenario": "GOLDILOCKS",
"bias": "RISK-ON",
"confidence": 85,
"actions": {
"SPY": {"direction": "LONG", "priority": "high"},
"US10Y":{"direction": "SHORT", "priority": "high"},
"BTC": {"direction": "LONG", "priority": "medium"},
"CRDO": {"direction": "LONG", "priority": "medium"}
}
}
The engine classifies this as GOLDILOCKS with 85% confidence 鈥?growth is firmly in the sweet spot and prices are contained. The strategy says: go long SPY and short US10Y at high priority, add medium-priority longs in BTC and CRDO. The 85% confidence means you size at ~85% of your typical PMI-trade allocation.
Try it yourself: The live demo client lets you drag the three sliders and watch the scenario + actions update in real time. Zero signup required. It's the exact same engine powering the API.
A strategy is only as good as your record-keeping. Every PMI release, you should log: the triple, the classified scenario, the actions you took, the position sizes, and 鈥?crucially 鈥?the outcome one week and one month later. Over a year, this builds a personal dataset of 12 macro reactions that reveals your edge.
The fastest way to start is the Macro Catalyst Trading Journal 鈥?a pre-built Notion template with 4 linked databases (Catalysts, Scenarios, Trades, Reviews), 13 pre-loaded macro catalyst entries (including ISM Mfg, ISM Services, CPI, NFP, FOMC), and 4 scenario frameworks. After purchase, click "Duplicate" and it copies into your Notion workspace instantly.
Pre-built Notion template 路 4 databases 路 13 catalyst entries 路 $7 one-time
Get the Journal ($7) Preview TemplateIf you trade systematically 鈥?via a bot, a spreadsheet pipeline, or a TradingView alert chain 鈥?you don't want to manually classify PMI every month. The Macro Scenario Analysis API wraps the classification engine as a REST endpoint:
# Python 鈥?via RapidAPI
import requests
response = requests.post(
"https://macro-scenario-api.onrender.com/classify_scenario",
json={"headline": 55.6, "new_orders": 54.2, "prices_paid": 71.1}
)
result = response.json()
# 鈫?{"scenario": "GOLDILOCKS", "bias": "RISK-ON", "confidence": 85, ...}
The API is live on RapidAPI with 3 endpoints (/classify_scenario, /ism_report, /health), Swagger docs, and a free tier of 100 calls/month. At $0.01/call beyond the free tier, it costs less than a cent per monthly PMI trade signal.
For TradingView users, there is also a Pine Script indicator that displays the scenario classification directly on your chart 鈥?color-coded with alerts for each scenario transition.
Monthly, on the first business day of each month at 10:00 AM Eastern Time. The ISM Services PMI releases two business days later. Both are tradeable with this strategy 鈥?the engine works for either, though the threshold tuning is optimized for Manufacturing.
The engine handles boundaries explicitly. For example, a headline of exactly 53 with new orders of 54 and prices paid of 72 sits on the Goldilocks/Moderate boundary 鈥?the engine returns Goldilocks with reduced confidence (typically 70-75%), signaling a smaller position size.
Yes, with the caveat that Services PMI tends to run hotter than Manufacturing (the US economy is ~70% services). The same triple logic applies, but you may want to mentally adjust the price threshold upward by 2-3 points for Services.
The scenario logic is derived from historical macro regimes and their observed cross-asset reactions. The engine itself is validated by 19/19 unit tests covering all five scenarios, boundary conditions, input validation, surprise detection (beat/miss vs. consensus), and serialization. For your own backtest, use the API to classify historical PMI triples and compare against subsequent 1-week asset returns.
Free. The live demo lets you classify any PMI triple in seconds with no signup. If you want to log trades systematically, the Notion journal is $7. If you want to automate, the API has a 100-call/month free tier. The complete bundle is $14.99.
Notion journal + live API + Pine Script indicator + HTML dashboard + Python report generator + live demo client 鈥?$14.99 one-time, zero subscriptions.
Get the Bundle ($14.99) View All Products