Die meisten Makromodelle für Devisen konzentrieren sich auf das, was die Zentralbanken bereits getan haben: Zinsdifferenzen, Rendite-Spreads und die Politikdivergenz, die bereits in die Forward-Kurve eingepriesen ist. PMI-Divergenzen funktionieren anders. Da die Indexumfragen der Einkaufsmanager Echtzeitveränderungen in der Geschäftstätigkeit erfassen, bevor sie im offiziellen BIP oder dem KPI-Druck erscheinen, ist eine wachsende PMI-Lücke zwischen zwei Ländern eines der wenigen Signale, die konsequent den Trendänderungen im Devisengeschäft vorausgehen, anstatt sie zu bestätigen.
Die Intuition ist einfach: Wenn die Fabrikflächen und Service-Desk einer Wirtschaft beschleunigen, während ein Peer sich kontrahiert, steigt die zugrunde liegende Nachfrage nach der stärkeren Währung: mehr Produktion, mehr Exporte, mehr Einstellungen und eine höhere Wahrscheinlichkeit, dass sich die Zentralbank falkenhaft verhält. Devisenhändler, die auf die offizielle BIP-Bestätigung warten, haben den Eintrag bereits verpasst. Händler die PMI-Divergenz in Echtzeit verfolgen insbesondere die Spread zwischen zusammengesetzten PMI-Werten können sich früher positionieren.
Kernthese
When the composite PMI of one economy diverges significantly from a peer's — especially when one crosses above 50 (expansion) as the other drops below it — the corresponding exchange rate tends to trend in the stronger economy's favour over the following 4–12 weeks. This lead-lag relationship makes PMI divergence a structural early-warning signal, not a coincident indicator.
Welche PMI-Maßnahmen und warum sie führend sind
Der Einkaufsmanager-Index ist ein monatlich aus Umfragen von Führungskräften der Beschaffungs- und Lieferkettenbranche erstellter Diffusionsindex. Werden die Werte über 50 angegeben, zeigt das Wachstum an, unter 50 zeigt ein Rückgang an. Der Index erfasst neue Aufträge, Produktion, Beschäftigung, Lieferantenlieferzeiten und Inventare, deren zukunftsgerichtete Komponenten (insbesondere neue Aufträge) einen echten Ausblick auf die Wirtschaftstätigkeit in 30 bis 90 Tagen geben.
Für die Devisenanalyse sind drei Varianten relevant:
- PMI im verarbeitenden Gewerbe Handelsempfindlich, sehr reaktiv auf globale Nachfrage-Schocks, Zollanforderungen und Lagerbestandsrückbau/Ablagerungsphasen.
- Dienstleistungs-PMI spiegelt die Stärke der Binnennachfrage, die Durchschnittsrate der Lohninflation und das Verbrauchervertrauen wider.
- Zusammengesetzte PMI BIP-gewichtete Mischung aus Industrie und Dienstleistungen.Bereitet das breiteste Signal für die Wirtschaftsaktivität und korreliert am stärksten mit der Entwicklung der Devisenkurse über einen Zeitraum von 1 3 Monaten.
The lead-time advantage of PMI data over GDP prints is significant: composite PMI is published on the first business day of each month for the prior month, while GDP typically arrives 3–6 weeks after quarter-end and is subsequently revised. A trader watching the EUR/USD pair in January can see both the US and Eurozone composite PMI figures for December before any quarterly GDP data has been released.
Erhebung der PFI-Abdeckung in FXMacroData
Der FXMacroData PMI-Endpunkt gibt die zusammengesetzten PMI-Zeitserien für jede wichtige Währung einschließlich der gegebenenfalls herstellungsgewichteten Varianten zurück. /api/v1/announcements/{currency}/pmi Der NMI (Non-Manufacturing Index) ist für USD und CNY über die nmi - Die Anzeige.
Aufbau des PMI-Divergenzsignals
Das Signal wird aus dem Spread zwischen den zusammengesetzten PMI-Werten zweier Länder erstellt. Ein positiver Spread bei dem der PMI von Land A den PMI von land B übersteigt begünstigt Währung A gegenüber Währung B. Die Signalstärke steigt mit:
- Die absolute Größe der Differenz (größere Divergenz = stärkere Verzerrung)
- Änderungsschritt (Verbreitungsweiterung = beschleunigte Verzerrung)
- Dauer (anhaltende mehrmonatige Divergenz = Trendregime, nicht einmalig)
- Die 50-stufige Überquerung (eine Seite über der Ausdehnungsschwelle, während die andere zusammenzieht)
Im folgenden Beispiel werden zusammengesetzte PMI-Daten für die USA und die Eurozone abgerufen und der EUR/USD-relevante Divergenzspread berechnet.
import requests
import pandas as pd
BASE = "https://fxmacrodata.com/api/v1"
KEY = "YOUR_API_KEY"
def get_pmi(currency: str, start: str = "2020-01-01") -> pd.Series:
r = requests.get(
f"{BASE}/announcements/{currency}/pmi",
params={"api_key": KEY, "start_date": start}
)
r.raise_for_status()
df = pd.DataFrame(r.json()["data"])
df["date"] = pd.to_datetime(df["date"])
df = df.set_index("date").sort_index()
return df["val"].rename(currency.upper())
usd_pmi = get_pmi("usd")
eur_pmi = get_pmi("eur")
# EUR minus USD composite PMI spread (positive = EUR favoured)
spread = (eur_pmi - usd_pmi).dropna()
spread.name = "EUR_minus_USD_PMI"
print(spread.tail(6).to_string())
print(f"\nCurrent spread: {spread.iloc[-1]:.1f} pts")
EUR gegenüber USD Zusammengesetzte PMI 2020 bis 2026
Die beiden PMI-Serien sind auf dem neutralen 50-Level abgebildet.
EUR/USD: Das Benchmark-Paar für die PMI-Divergenz
EUR/USD ist das am häufigsten gehandelte Währungspaar der Welt und das am meisten für die Makrofundamentalanalyse untersuchte. Es ist auch das Paar, bei dem die PMI-Divergenz historisch die klarste Bezugszeit zeigte zum Teil, weil sowohl die US-ISM/PMI- als auch die S&P Global PMI-Veröffentlichungen der Eurozone genau beobachtet, weit verbreitet und eine lange Geschichte haben, die das Backtesting ermöglicht.
Die Beziehung ist nicht mechanisch EUR/USD wird auch stark von Risikobereitschaft, Energiepreisen, EZB/Fed-Zinserwartungen und Positionierung beeinflusst. Die PMI-Divergenz liefert jedoch konsequent eine strukturelle Verzerrung, die alle diese kurzfristigen Treiber überlagert. In einer Zeit wie H1 2024, als die US-Daten besser abschnitten und die Eurozone mit den Folgen von Energiekosten-Schocks zu kämpfen hatte, korrelierte der anhaltende US-PMI-Vorteil mit einem anhaltenden USD-Angebot, das mehrere EUR-positive EZB-Kommunikationsereignisse überschattete.
EURUSD PMI Divergenz gegenüber EUR/USD Spot 2020 bis 2026
Der PMI-Spread (EUR minus USD) wird gegenüber dem EUR/USD-Wechselkurs dargestellt. Beachten Sie, wie sich der PMI-Spad tendenziell vor dem Spotkurs verändert. Die Sekundärachse für EUR/ USD wird umgekehrt, um die PMI-Divergenz visuell mit der erwarteten Wechselkursrichtung auszurichten.
Das Signal über die wichtigsten Paare hinweg ausbreiten
Die Differenz zwischen den beiden Währungspaaren ist jedoch in der Regel relativ gering, da die unterschiedlichen Währungsparen unterschiedliche Empfindlichkeiten aufweisen, je nachdem, wie handelsorientiert, an Rohstoffe gebunden oder in Dienstleistungen dominiert die zugrunde liegende Wirtschaft ist.
PMI Divergenz Signalstärke nach Paaren Korrelation mit der nachfolgenden 8-wöchigen FX-Rendite
Illustrative Korrelationskoeffizienten zwischen der PMI-Divergenz und der darauffolgenden 8-wöchigen Wechselkursrichtung. EUR/USD und GBP/USD zeigen das stärkste Signal; AUD/USD wird stärker von Rohstoffzyklen beeinflusst.
Die Paare, die am zuverlässigsten auf die PMI-Divergenz reagieren, haben bestimmte Merkmale gemeinsam: Beide Volkswirtschaften haben eine hochwertige PMI-Serie genau beobachtet; es gibt einen signifikanten bilateralen Handel zwischen den beiden Ländern; und keine der beiden Währungen ist in erster Linie eine Rohstoffwährung, bei der die Rohstoffpreise Makroaktivitätssignale überschreiten können. EUR/USD, GBP/USD , USD/JPY und EUR/GBP gehören konsequent zu dieser Kategorie. AUD/USD und NZD/USD zeigen ein schwächeres PMI-Signal, da die Rohstofffreie (insbesondere Eisenerz, Kupfer und Milch) regelmäßig die Produktionsaktivitätsinsignale für diese Währungen überschreiben.
Abrufen von Mehrwährungs-PMI-Daten
Die Erstellung eines Multi-Paar-PMI-Signaldashboards erfordert das Abrufen von PMI-Daten über mehrere Währungen hinweg und deren Anpassung an eine gemeinsame monatliche Zeitleiste. PFI-Endpunkt Die Datenbank enthält monatliche Zeitreihen für alle wichtigen Währungen.
import requests
import pandas as pd
BASE = "https://fxmacrodata.com/api/v1"
KEY = "YOUR_API_KEY"
currencies = ["usd", "eur", "gbp", "jpy", "aud", "cad"]
def get_pmi(currency: str, start: str = "2022-01-01") -> pd.Series:
r = requests.get(
f"{BASE}/announcements/{currency}/pmi",
params={"api_key": KEY, "start_date": start}
)
r.raise_for_status()
df = pd.DataFrame(r.json()["data"])
df["date"] = pd.to_datetime(df["date"])
df = df.set_index("date").sort_index()
return df["val"].rename(currency.upper())
pmi = pd.concat([get_pmi(c) for c in currencies], axis=1)
# Compute all cross-spreads relevant to major pairs
divergence = {
"EUR_vs_USD": pmi["EUR"] - pmi["USD"],
"GBP_vs_USD": pmi["GBP"] - pmi["USD"],
"USD_vs_JPY": pmi["USD"] - pmi["JPY"],
"USD_vs_AUD": pmi["USD"] - pmi["AUD"],
"USD_vs_CAD": pmi["USD"] - pmi["CAD"],
"EUR_vs_GBP": pmi["EUR"] - pmi["GBP"],
}
div_df = pd.DataFrame(divergence)
print(div_df.tail(3).to_string())
print("\nCurrent divergence snapshot:")
for pair, val in div_df.iloc[-1].items():
direction = "favours first currency" if val > 0 else "favours second currency"
print(f" {pair:15s}: {val:+.1f} pts ({direction})")
Einstufung der PVA-Regelung
Eine einzige PMI-Spread-Angabe ist informativ, aber das am besten handelbare Signal stammt aus der Regime-Klassifizierung: Es wird ermittelt, wann die Divergenz eine sinnvolle Schwelle überschreitet und dort mehrere Monate anhält.
Ein starkes A.
Spread > +3 Punkte, Ausdehnung oder Halte. A in Expansion (> 50), B nahe Kontraktion. Starke strukturelle Verzerrung gegenüber Währung A.
Neutral
Spread within ±3 pts, or both economies in similar territory. PMI bias is absent; rate differentials and positioning dominate.
Starke B
Spread < -3 Punkte, Ausdehnung oder Halte B in Expansion, A nahe Kontraktion starke strukturelle Verzerrung gegenüber Währung B
def classify_pmi_regime(spread: pd.Series, threshold: float = 3.0) -> pd.Series:
"""
Returns regime labels: 'strong_A', 'neutral', or 'strong_B'.
threshold: minimum spread magnitude to declare a directional regime.
"""
regimes = []
for val in spread:
if val > threshold:
regimes.append("strong_A")
elif val < -threshold:
regimes.append("strong_B")
else:
regimes.append("neutral")
return pd.Series(regimes, index=spread.index, name="regime")
# Apply to EUR-USD divergence
eur_usd_spread = pmi["EUR"] - pmi["USD"]
regime = classify_pmi_regime(eur_usd_spread, threshold=2.5)
# Summarise regime tenure
for r in ["strong_A", "neutral", "strong_B"]:
count = (regime == r).sum()
pct = 100 * count / len(regime)
print(f" {r:12s}: {count:3d} months ({pct:.0f}% of history)")
Kombination von PMI Divergenz mit Rate Differential
Die PMI-Divergenz ist am stärksten, wenn sie sich mit der Differenz zwischen den Leitzinsen zwischen zwei Ländern abgleicht oder führt. Wenn die PMI-Diverenz zugunsten der Währung A zunimmt, während die Zinsdifferenz auch A begünstigt, wird die strukturelle Devisenverzerrung verstärkt und bleibt tendenziell länger bestehen. Wenn sich die PMIDivergence und die Zinsendifferenze nicht einig machen, gewinnt letztendlich ein Signal; PMI neigt dazu, den Zinspfad zu führen, da die Zentralbanken auf Aktivitätsdaten reagieren.
# Fetch policy rates for EUR and USD
def get_indicator(currency: str, indicator: str, start: str = "2022-01-01") -> pd.Series:
r = requests.get(
f"{BASE}/announcements/{currency}/{indicator}",
params={"api_key": KEY, "start_date": start}
)
r.raise_for_status()
df = pd.DataFrame(r.json()["data"])
df["date"] = pd.to_datetime(df["date"])
df = df.set_index("date").sort_index()
return df["val"].rename(f"{currency.upper()}_{indicator}")
eur_rate = get_indicator("eur", "policy_rate")
usd_rate = get_indicator("usd", "policy_rate")
# Resample to monthly end-of-period, forward-fill
monthly_idx = pd.date_range(start="2022-01-01", end=pd.Timestamp.today(), freq="ME")
eur_rate_m = eur_rate.reindex(monthly_idx, method="ffill")
usd_rate_m = usd_rate.reindex(monthly_idx, method="ffill")
rate_spread = (eur_rate_m - usd_rate_m).rename("EUR_minus_USD_rate")
# Composite signal: PMI divergence weighted with rate differential
pmi_weight = 0.6
rate_weight = 0.4
composite = (
pmi_weight * eur_usd_spread.reindex(monthly_idx, method="ffill") +
rate_weight * rate_spread
).rename("composite_eur_bias")
print("Composite EUR/USD bias signal (last 6 months):")
print(composite.tail(6).to_string())
Zusammengesetztes PMI + Zinssignal gegenüber EUR/USD 2022 bis 2026
The composite signal combines PMI divergence (60%) and policy rate differential (40%). When both PMI divergence and rate differential align in the same direction, the subsequent 12-week FX return is strongest.
Vorlaufzeit: Wann zahlt sich die PMI-Divergenz aus?
The critical question for traders is the lead time: how many weeks or months after PMI divergence emerges does the FX pair tend to confirm the move? Empirically, the strongest correlation between PMI divergence and subsequent FX direction is observed at a 4–8 week lag for EUR/USD and GBP/USD. USD/JPY tends to have a slightly longer lag (8–12 weeks) because the Bank of Japan's intervention behaviour can delay or interrupt the FX trend even when PMI divergence is clear.
Bei AUD und CAD ist die PMI-Lead-Beziehung bei jeder festen Verzögerung weniger zuverlässig, da die Rohstoffpreise das Signal vollständig überschreiben können.
Praktische Vorlaufzeiten
- EUR/USD, GBP/USD und EUR/GBP: PMI divergence leads FX direction by 4–8 weeks. Use composite PMI spread with a ±2.5 pt threshold as the primary bias filter.
- USD/JPY: PMI divergence leads FX direction by 8–12 weeks. BOJ intervention risk warrants a wider threshold (±4 pts) before acting on the signal.
- AUD/USD, NZD/USD: Die Divergenz des PMI dient nur als unterstützende Verzerrung.
- USD/CAD: Die Entwicklung der Ölpreise muss für ein zuverlässiges Signal mit der Verzerrung des PMI übereinstimmen.
Zusammenstellen: Ein Live-PMI-Signaldashboard
The following function builds a simple but complete PMI divergence signal dashboard across all major pairs, surfacing the current regime, the spread level, and its 3-month trend direction. This is a practical template for a morning workflow that takes under 60 seconds to run.
def pmi_signal_dashboard(start: str = "2023-01-01") -> pd.DataFrame:
"""
Build a cross-pair PMI divergence signal table.
Returns a DataFrame with current regime and trend for each pair.
"""
currencies = ["usd", "eur", "gbp", "jpy", "aud", "cad"]
pmi = pd.concat([get_pmi(c, start=start) for c in currencies], axis=1)
pair_definitions = [
("EUR/USD", "EUR", "USD", 2.5),
("GBP/USD", "GBP", "USD", 2.5),
("USD/JPY", "USD", "JPY", 4.0),
("AUD/USD", "AUD", "USD", 3.0),
("USD/CAD", "USD", "CAD", 3.0),
("EUR/GBP", "EUR", "GBP", 2.0),
]
rows = []
for pair, base_ccy, quote_ccy, thresh in pair_definitions:
spread = pmi[base_ccy] - pmi[quote_ccy]
spread = spread.dropna()
if spread.empty:
continue
current = spread.iloc[-1]
prior_3m = spread.iloc[-4] if len(spread) >= 4 else float("nan")
trend = "widening" if current > prior_3m else "narrowing" if current < prior_3m else "flat"
if current > thresh:
regime = f"FAVOURS {base_ccy}"
elif current < -thresh:
regime = f"FAVOURS {quote_ccy}"
else:
regime = "NEUTRAL"
rows.append({
"Pair" : pair,
"Spread" : round(current, 1),
"Trend" : trend,
"Regime" : regime,
})
return pd.DataFrame(rows).set_index("Pair")
dashboard = pmi_signal_dashboard()
print(dashboard.to_string())
PMI Divergenzsignal Radar Aktueller Schnappschuss
Radarsicht des aktuellen PMI-Divergenzniveaus je Paar (normalisiert auf ±10-Skala).
Hauptrisiken und Signalfehler
Die Divergenz des PMI ist nicht unfehlbar.
- Risikovermeidungsereignisse in einer scharfen globalen Risiko-Ausfall-Episode (z. B. Pandemie, Finanz-Ansteckung) fallen alle PMI-Werte gleichzeitig zusammen, so dass die divergen Länderdifferenzen uninformativ sind.
- Erforschungsmüdigkeit oder Strukturwandel gelegentlich spiegeln die PMI-Umfragen die gemeldete wirtschaftliche Realität nicht wider, da sich die Struktur der Antworten der Unternehmen auf die Umfragen verändert hat. Industrieproduktion Oder ... Einzelhandelsumsatz Endpunkte.
- Überschreitung durch die Zentralbank — when a central bank is engaged in large-scale currency intervention (Bank of Japan 2022–2024, Swiss National Bank periodically), the FX pair can move aggressively against the PMI signal. Use the Zinssatz und Währungsreserven als Gesinnungskontrolle.
- Rohstoffpreisschocks für AUD, CAD und NZD kann ein plötzlicher Anstieg oder Zusammenbruch der Rohstoffpreise sogar ein starkes PMI-Divergenzsignal vollständig überschreiben. Endpunkt für Rohstoffe für den Kontext.
Die stärkste Verwendung der PMI-Divergenz ist als Regimefilter und nicht als eigenständiges Eintrittssignal.
Integration von PMI in einen Makro-FX-Rahmen
Der praktische Arbeitsablauf für einen Makro-FX-Analyst sieht so aus: Jeder Monat, wenn der zusammengesetzte PMI gedruckt wird, laufen die Divergenzberechnungen über alle Paare hinweg. Aktualisieren Sie die Regime-Klassifizierung. Überprüfen Sie, ob das aktuelle Regime mit Ihren bestehenden Rate-Differential- und COT-Positionierungsansichten übereinstimmt oder nicht. Wenn PMI, Raten und Positionierung alle übereinstemmen , ist dies ein Makro Setup mit hoher Überzeugung. Wenn sie nicht übereinkommen ist dies der Markt, der Ihnen sagt, dass etwas in Übergang ist.
Die PMI-Divergenz garantiert keinen Devisentrend. Sie identifiziert den Kontext der Wirtschaftsaktivitäten, unter dem ein Trend wahrscheinlich entsteht.
Die FXMacroData PFI-Endpunkt Und ... Endpunkt der PMI der Eurozone Sie erhalten Zugang zu der vollständigen monatlichen Historie aller wichtigen Währungen in einem einzigen sauberen JSON-Aufruf.