Divergencia de los PMI y cambio de divisas: liderando la tendencia banner image

Trade Views

Market Analysis

Divergencia de los PMI y cambio de divisas: liderando la tendencia

La divergencia PMI entre países es uno de los indicadores principales más confiables en macro FX. Cuando la actividad manufacturera y de servicios de una economía se adelanta a un par, el tipo de cambio tiende a seguir a menudo semanas antes de que el movimiento se registre en los modelos diferenciales de tasa tradicionales.

Disponible también en English

La mayoría de los modelos macro de divisas se centran en lo que ya han hecho los bancos centrales: diferencias de tasas, diferenciales de rendimiento y divergencia de política que ya está valorada en la curva de futuro. La divergencia del PMI funciona de manera diferente. Debido a que las encuestas del Índice de Gerentes de Compras capturan cambios en tiempo real en la actividad empresarial antes de que aparezcan en las impresiones oficiales del PIB o del IPC, una brecha de PMI cada vez mayor entre dos países es una de las pocas señales que precede consistentemente los cambios de tendencia de divis as en lugar de confirmarlos.

La intuición es sencilla. Cuando las plantas de fábrica y los mostradores de servicio de una economía se aceleran mientras un par se contrae, la demanda subyacente de la moneda más fuerte aumenta: más producción, más exportaciones, más contratación y más probabilidades de que su banco central se incline hacia el halcón. Los operadores de divisas que esperan la confirmación oficial del PIB ya han perdido la entrada. Los comerciantes que rastrean la divergencia del PMI en tiempo real particularmente el diferencial entre las lecturas compuestas del PMI pueden posicionarse antes en el movimiento.

Tesión central

Cuando el PMI compuesto de una economía difiere significativamente del de otra , especialmente cuando uno supera los 50 (expansión) mientras que el otro cae por debajo el tipo de cambio correspondiente tiende a evolucionar a favor de la economía más fuerte durante las siguientes 412 semanas.

Qué medidas del PMI y por qué es líder

El Índice de Gerentes de Compras es un índice de difusión compilado mensualmente a partir de encuestas a altos ejecutivos de compras y cadena de suministro. Las lecturas por encima de 50 indican expansión; por debajo de 50 indica contracción. El índice captura nuevos pedidos, producción, empleo, tiempos de entrega de proveedores e inventarios cuyos componentes prospectivos (nuevos pedidos en particular) proporcionan una visión genuina de la actividad económica de 30 a 90 días.

Tres variantes son relevantes para el análisis de divisas:

  • PMI en el sector manufacturero sensible al comercio, muy reactivo a los choques de la demanda mundial, los ciclos arancelarios y las fases de reconstrucción/desabastecimiento de inventarios.
  • PMI de servicios refleja la fuerza de la demanda interna, la transmisión de la inflación salarial y la confianza del consumidor.
  • PMI compuesto mezcla ponderada en el PIB de la industria manufacturera y los servicios: proporciona la señal más amplia de actividad económica y se correlaciona de manera más consistente con la dirección de la tendencia cambiaria en horizontes de 1 a 3 meses.

La ventaja de los datos del PMI en el tiempo de entrega sobre los datos impresos del PIB es significativa: el PMI compuesto se publica el primer día hábil de cada mes para el mes anterior, mientras que el PIB normalmente llega 36 semanas después del final del trimestre y se revisa posteriormente.

Cobertura de PMI en FXMacroData

El punto final del PMI de FXMacroData devuelve las series temporales compuestas del PMI para cada moneda principal , incluidas las variantes ponderadas por la fabricación, cuando corresponda. /api/v1/announcements/{currency}/pmi El NMI (Indice de no manufactura) está disponible para USD y CNY a través del nmi Es una bala de indicador.

Construcción de la señal de divergencia del PMI

La señal se construye a partir del diferencial entre las lecturas compuestas del PMI de dos países. Un diferencial positivo donde el PMI del país A excede el PMI de país B favorece a la moneda A en relación con la moneda B. La fuerza de la señal aumenta con:

  • La magnitud absoluta de la diferencia (divergencia mayor = sesgo más fuerte)
  • Dirección del cambio (amplificación de la dispersión = aceleración del sesgo)
  • Duración (divergencia persistente de varios meses = régimen de tendencia, no una sola vez)
  • El cruce de 50 niveles (un lado por encima del umbral de expansión mientras que el otro se contrae)

El siguiente ejemplo recoge datos compuestos de los PMI de los Estados Unidos y de la zona del euro y calcula el diferencial de divergencia relevante para el EUR/USD.

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 frente a USD PMI compuesto 2020 a 2026

Las dos series de PMI se han trazado en función del nivel neutro de 50.

EUR/USD: el par de referencia para la divergencia del PMI

EUR/USD es el par de divisas más negociado en el mundo y el más estudiado para el análisis macrofundamental. También es el que ha mostrado históricamente la relación más clara entre la divergencia PMI y el tiempo de entrega en parte porque tanto los lanzamientos del ISM/PMI de EE.UU. como los del S&P Global PMI de la Eurozona son observados de cerca, están ampliamente distribuidos y tienen una larga historia que permite realizar pruebas retrospectivas.

La relación no es mecánica EUR/USD también está fuertemente influenciada por el apetito por el riesgo, los precios de la energía, las expectativas de la tasa del BCE/Fed y el posicionamiento. Pero la divergencia del PMI proporciona consistentemente un sesgo estructural que superpone todos esos factores a corto plazo. En un período como el primer semestre de 2024, cuando los datos de los EE.UU. superaron y la zona euro luchó con las consecuencias de los choques de los costos de la energia, la ventaja persistente del PMI de los Estados Unidos se correlacionó con una oferta sostenida del USD que eclipsó múltiples eventos de comunicación del BCE positivos para el EUR.

El valor de la inversión en el mercado de valores de la moneda de referencia se calcula en función de la situación de la entidad.

El margen del PMI (EUR menos USD) gráfico frente al tipo de cambio del EUR/USD. Observe cómo el margen de PMI tiende a cambiar de dirección antes de que el tipo de interés al contado siga. El eje secundario para el EUR/ USD se invierte para alinear visualmente la divergencia del PMI con la dirección de cambio esperada.

Extender la señal a través de los pares principales

El mismo marco de divergencia se aplica a todos los principales pares de divisas en los que se dispone de series de PMI.

La fuerza de la señal de la divergencia del PMI por par Correlación con el rendimiento cambiario de 8 semanas posteriores

Los coeficientes de correlación ilustrativos entre la divergencia del PMI y la dirección cambiaria de las siguientes 8 semanas.

Los pares más confiables que responden a la divergencia PMI comparten ciertas características: ambas economías han observado de cerca series PMI de alta calidad; hay un comercio bilateral significativo entre los dos países; y ninguna de las monedas es principalmente una moneda de materias primas donde los precios de los recursos pueden anular las señales de macroactividad. EUR/USD, GBP/USD , USD/JPY y EUR/GBP se encuentran consistentemente en esta categoría.

Obtención de datos de PMI en varias monedas

La construcción de un panel de señalización PMI de varios pares requiere extraer datos PMI en varias monedas y alinearlos a una línea de tiempo mensual común. PYME proporciona series temporales mensuales coherentes para todas las principales monedas.

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})")

Clasificación del régimen de AMP

Una sola lectura del diferencial PMI es informativa, pero la señal más negociable proviene de la clasificación de régimen: identificar cuándo la divergencia cruza un umbral significativo y se mantiene allí durante varios meses.

Una fuerte A.

A. en expansión (> 50), B. cerca de contracción. fuerte sesgo estructural hacia la moneda A.

No tiene nada

El índice de variación de los precios de los productos de consumo se sitúa en el punto de inflexión de la tasa de cambio.

B fuerte

Se trata de un tipo de cambio que se extiende a la moneda B, pero que se mantiene en la posición de la moneda A.

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)")

Combinando la divergencia del PMI con el diferencial de tasas

La diferencia entre los tipos de interés de los dos países es más fuerte cuando se alinea con el diferencial de tasas de interés entre dos países. Cuando la diferencia entre las tasas se amplía a favor de la moneda A y al mismo tiempo que el diferential de tasos también favorece a A, el sesgo cambiario estructural se refuerza y tiende a mantenerse por más tiempo. Cuando las diferencias entre los precios y las tasos no coinciden, una señal finalmente gana; el PMI tiende a liderar la trayectoria de las tas as, ya que los bancos centrales responden a los datos de actividad.

# 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())

El PMI compuesto + señal de tipo de interés frente al EUR/USD 2022 a 2026

La señal compuesta combina la divergencia del PMI (60%) y el diferencial de tasas de interés (40%).

Tiempo de entrega: ¿Cuándo se paga la divergencia PMI?

La pregunta crítica para los operadores es el tiempo de espera: ¿cuántas semanas o meses después de que surge la divergencia del PMI el par de divisas tiende a confirmar el movimiento? Empiricamente, la correlación más fuerte entre la diversión del PMI y la dirección posterior del FX se observa en un retraso de 48 semanas para el EUR/USD y el GBP/USD. El USD/JPY tiende a tener un retardo ligeramente más largo (812 semanas) porque el comportamiento de intervención del Banco de Japón puede retrasar o interrumpir la tendencia del FX incluso cuando la diverxencia del PMI es clara.

Para AUD y CAD, la relación PMI-lider es menos confiable en cualquier retraso fijo porque los precios de las materias primas pueden anular la señal por completo.

Marco práctico de tiempo de entrega

  • En el caso de las empresas de servicios de telecomunicaciones, el número de unidades de producción de las mismas es el siguiente: La diferencia entre los índices de variación de los precios de los mercados de divisas (PMI) y los índice de variaciones de los tipos de cambio (PRI) es de aproximadamente 48 semanas.
  • USD/JPY: el precio de venta de la moneda de la Unión La divergencia del PMI conduce la dirección de la divisa en 812 semanas.
  • En el caso de las operaciones de inversión, el valor de las acciones de la entidad será el valor del capital de la empresa. La divergencia del PMI funciona sólo como un sesgo de apoyo. Requiere la confirmación del precio de las materias primas (minero de hierro para AUD, lácteos para NZD) antes de posicionarse.
  • USD/CAD: el precio de venta de la moneda de la Unión El PMI de la industria manufacturera (no compuesto) es más relevante debido a la estructura de las exportaciones de Canadá.

Poniéndolo en conjunto: Un panel de señalización PMI en vivo

La siguiente función construye un panel de control de señales de divergencia PMI simple pero completo en todos los pares principales, mostrando el régimen actual, el nivel de spread y su dirección de tendencia de 3 meses.

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())

Radar de señales de divergencia PMI instantánea actual

Vista por radar del nivel de divergencia del PMI actual por par (normalizado a una escala de ±10).

Principales riesgos y fallas de la señal

La divergencia PMI no es infalible.

  • Eventos de exclusión de riesgo en un episodio de riesgo global agudo (p. ej., pandemia, contagio financiero), todas las lecturas de PMI se derrumban simultáneamente, lo que hace que la divergencia entre países no sea informativa.
  • Fatiga de la encuesta o cambio estructural ocasionalmente las encuestas de los PMI no reflejan la realidad económica reportada debido a cambios estructurales en la forma en que las empresas responden a las encuestas. producción industrial ¿ Qué ? ventas al por menor los puntos finales.
  • Las operaciones de supervisión del banco central cuando un banco central está involucrado en una intervención monetaria a gran escala (Banco de Japón 20222024, Banco Nacional Suizo periódicamente), el par de divisas puede moverse agresivamente contra la señal PMI. tipo de interés y las series de reservas de divisas como un control de cordura.
  • Choques de precios de las materias primas para AUD, CAD y NZD, un repentino aumento o colapso de los precios de las materias primas puede anular completamente incluso una fuerte señal de divergencia PMI. punto final de las materias primas para el contexto.

El uso más robusto de la divergencia del PMI es como un filtro de régimen en lugar de una señal de entrada independiente.

La integración de los PMI en un marco macro-fx

El flujo de trabajo práctico para un analista de macro FX se ve así: cada mes, cuando se imprime un PMI compuesto, ejecuta el cálculo de la divergencia en todos los pares. Actualiza la clasificación del régimen. Comprueba si el régimen actual está de acuerdo o no con tus puntos de vista existentes de diferencia de tasa y posicionamiento de COT. Si el PMI, las tasas y el posicionamento están de acuerdo , esa es una configuración macro de alta convicción. Si no están de acordo es el mercado que te dice que algo está en transición.

La divergencia del PMI no garantiza una tendencia cambiaria. Identifica el contexto de actividad económica en el que es probable que surja una tendencias. Utilizado como un filtro de sesgo estructural en lugar de un desencadenante de comercio mecánico, es una de las herramientas más ricas en información, disponibles gratuitamente y oportunas en el conjunto de herramienta macro FX.

El FXMacroData PYME ¿ Qué ? PYME de la zona del euro Construye la señal de divergencia en unas pocas líneas de Python, superpónla sobre tu marco macro existente, y tienes un indicador líder que se actualiza cada mes semanas antes de que los datos oficiales de actividad confirmen lo que el PMI ya te dijo.

Blogroll