Predizer os preços do ouro usando dados macro: um quadro passo a passo banner image

Implementation

How-To Guides

Predizer os preços do ouro usando dados macro: um quadro passo a passo

O ouro é impulsionado por taxas de juros reais, expectativas de inflação, força do dólar e balanços do banco central todos mensuráveis através de API.

Também disponível em English

Por que os dados macro são o ouro

O ouro não é impulsionado por ganhos, dividendos ou crescimento de receita. Seu preço é fundamentalmente uma função do custo de oportunidade de manter um ativo não rentável e do medo coletivo do mercado de instabilidade monetária e geopolítica. Isso significa que os dados macro taxas de juros reais, expectativas de inflação, força do dólar, balanços do banco central explicam a maior parte da trajetória de preço de longo prazo do ouro.

Para os traders e analistas, isso é uma vantagem: as principais variáveis são publicadas em um calendário fixo, medidas com alta precisão e acessíveis através da API.

Tese central

Quando as taxas de juros reais dos EUA caem, o ouro sobe. Quando o dólar enfraquece, o dinheiro sobe. quando as expectativas de inflação sobem, ele sobe. cada um desses sinais é observado em tempo real através de endpoints de dados macro.

Passo 1: Procure o preço do ouro

Antes de construir um quadro preditivo, estabeleça a linha de base: o preço do ouro de hoje. ponto final de commodities- Não .

curl "https://fxmacrodata.com/api/v1/commodities/gold?api_key=YOUR_API_KEY&start=2024-01-01"
{
  "data": [
    { "date": "2025-04-08", "val": 3014.75 },
    { "date": "2025-04-07", "val": 2980.20 },
    { "date": "2025-04-04", "val": 3038.55 }
  ]
}

Em Python, uma maneira limpa de puxar esta série é:

import requests

BASE = "https://fxmacrodata.com/api/v1"
KEY  = "YOUR_API_KEY"

def get_series(path: str, start: str = "2024-01-01") -> list[dict]:
    r = requests.get(f"{BASE}{path}", params={"api_key": KEY, "start": start})
    r.raise_for_status()
    return r.json()["data"]

gold = get_series("/commodities/gold")
# [{'date': '2025-04-08', 'val': 3014.75}, ...]

Preço spot do ouro LBMA PM Fix

Dados mensais, Janeiro 2024 Abril 2025. O ouro subiu de ~ $ 2.000 para mais de $ 3.000 como taxas reais caíram e o ímpeto do dólar mudou.

Passo 2: Seguir as taxas de juro reais dos EUA

O mais forte preditor macro do ouro é a taxa de juros real dos EUA o retorno disponível em um ativo seguro após a inflação. Quando as taxas reais são profundamente negativas (taxa de política abaixo da inflação), o ouro se torna uma reserva racional de valor. Quando os juros reais se tornam positivos e aumentam, o ouro enfrenta uma forte concorrência dos Tesouros.

Duas séries FXMacroData permitem construir o quadro da taxa real com precisão:

  • TIPS 10Y rendimento medida directa do mercado da taxa real a 10 anos, disponível através do O montante da dívida
  • Taxa de inflação de equilíbrio a 10 anos a compensação da inflação integrada nos títulos nominais do Tesouro, através de taxa de equilíbrio_inflação_
tips_10y    = get_series("/announcements/usd/inflation_linked_bond")
breakeven   = get_series("/announcements/usd/breakeven_inflation_rate")
policy_rate = get_series("/announcements/usd/policy_rate")

O rendimento TIPS é um valor de mercado que varia de 20% para 40% em relação ao ouro, mas que é muito mais baixo do que o valor de referência do TIPS.

Regra de sinalização: Regime de rendimento TIPS

  • TIPS 10Y < -0,5%: vento forte contra o ouro
  • TIPS 10Y entre -0,5% e +0,5%: neutro ver a direcção da mudança
  • TIPS 10Y > +1,0%: vento contrário estrutural para o ouro

10Y Rendimento real vs preço do ouro

Observe a relação inversa: o eixo de rendimento do TIPS é invertido de modo que a queda das taxas reais e o aumento do ouro se movem na mesma direção visual.

Passo 3: Monitorizar o regime de inflação dos EUA

A relação do ouro com a inflação é mais matizada do que sugere a narrativa popular. No curto prazo, o ouro nem sempre responde imediatamente a uma única impressão do IPC. O que importa é o regime de inflação se o mercado acredita que a inflações permanecerá elevada e se o Fed está ficando para trás da curva.

Desligue o conjunto de inflação básica para acompanhar mudanças de regime:

cpi          = get_series("/announcements/usd/inflation")
core_cpi     = get_series("/announcements/usd/core_inflation")
pce          = get_series("/announcements/usd/pce")
breakeven    = get_series("/announcements/usd/breakeven_inflation_rate")

O sinal mais previsível aqui é o Taxa de inflação de equilíbrioO mercado de títulos é um mercado de valores mobiliários que, em geral, não tem um nível de inflação muito elevado, mas que, por vezes, não é muito elevado.

Usa o ... ponto final da inflação E ... PCE A diferença em que o IPC principal está subindo enquanto o PCE permanece ancorado normalmente não gera pressão de compra de ouro sustentada.

Componentes da inflação dos EUA

O IPC principal é o que impulsiona a narrativa, mas o PCE principal é que impulsionou as decisões do Fed.

Passo 4: Observe os sinais da política da Fed e o balanço

O preço do ouro é muito sensível à credibilidade do Fed. Os mercados o valorizam em parte como uma cobertura contra a desvalorização monetária o risco de os bancos centrais expandirem seus balanços além da capacidade de relaxar.

fed_rate     = get_series("/announcements/usd/policy_rate")
fed_assets   = get_series("/announcements/usd/cb_assets")
m2           = get_series("/announcements/usd/m2")

O ... Ativos totais da Reserva Federal A série de balanços da Fed em trilhões de dólares é uma série de números que acompanha o tamanho do balanço do Fed em bilhões de reais. Durante os ciclos de QE (20082014, 20202022), esta série expandiu-se acentuadamente e o ouro se recuperou fortemente em ambos os períodos.

O crescimento da oferta monetária do M2 é um indicador de atraso mais longo. Quando o M2 está crescendo a taxas anuais de dois dígitos (como foi em 25%+ em 2021), historicamente pressupõe pressão inflacionária que eventualmente suporta o ouro. Quando a inflação do M 2 inverte e se torna negativa (como aconteceu durante a maior parte de 2023), o caso de depreciação monetária enfraquece.

Passo 5: Verifique a Força do Dólar

O ouro é avaliado em dólares americanos, portanto, um dólar mais forte reduz mecanicamente o preço do ouro em termos de dólares e reduz o incentivo de poder aquisitivo para compradores não americanos. comércio_indice_pondido, fornece a visão agregada mais limpa.

twi = get_series("/announcements/usd/trade_weighted_index")

Estruturalmente, o ouro e o dólar tendem a estar inversamente correlacionados mas essa relação se rompe durante episódios de crise genuína, quando ambos podem aumentar simultaneamente na demanda de refúgio seguro.

Dólar contra ouro ponderado pelo comércio

O eixo do dólar é invertido: um dólar mais fraco (mais alto no gráfico) e o ouro em ascensão se movem juntos, ilustrando a correlação inversa estrutural.

Para construir uma imagem multivaluta desse diferencial de taxas, use os pontos finais de taxas de política de FXMacroData para outros bancos centrais do G10 ao lado da taxa da Fed , por exemplo, comparando Taxa de política de juros A taxa de câmbio do dólar é, portanto, mais elevada do que a taxa de juro do dóler americano.

Passo 6: Crie um cartão de pontuação de macro composto de ouro

O quadro acima pode ser colapso em um simples cartão de pontuação que atribui um sinal direcional a cada indicador e os agrega em um viés líquido.

def score_signal(series: list[dict], bullish_when: str) -> float:
    """Return +1 (bullish gold), 0 (neutral), or -1 (bearish gold)."""
    if len(series) < 2:
        return 0.0
    latest = series[-1]["val"]
    prev   = series[-2]["val"]
    change = latest - prev

    if bullish_when == "falling":
        if change < -0.05:
            return 1.0
        elif change > 0.05:
            return -1.0
        return 0.0
    elif bullish_when == "rising":
        if change > 0.05:
            return 1.0
        elif change < -0.05:
            return -1.0
        return 0.0
    elif bullish_when == "negative":
        return 1.0 if latest < 0 else (-1.0 if latest > 1.0 else 0.0)
    return 0.0


scores = {
    "TIPS 10Y (real rate)"     : score_signal(tips_10y,    bullish_when="negative"),
    "Breakeven inflation"      : score_signal(breakeven,   bullish_when="rising"),
    "Fed policy rate"          : score_signal(policy_rate, bullish_when="falling"),
    "Fed total assets (QE)"    : score_signal(fed_assets,  bullish_when="rising"),
    "M2 money supply"          : score_signal(m2,          bullish_when="rising"),
    "Trade-weighted USD"       : score_signal(twi,         bullish_when="falling"),
}

net_score = sum(scores.values())
print(f"Net gold macro score: {net_score:+.0f} / {len(scores)}")
for name, s in scores.items():
    arrow = "▲" if s > 0 else ("▼" if s < 0 else "→")
    print(f"  {arrow}  {name}: {s:+.0f}")

A pontuação líquida de +4 ou superior em seis entradas é um forte vento macro favorável para o ouro.

Produto da amostra

Net gold macro score: +4 / 6
  ▲  TIPS 10Y (real rate): +1
  ▲  Breakeven inflation: +1
  →  Fed policy rate: 0
  ▲  Fed total assets (QE): +1
  →  M2 money supply: 0
  ▲  Trade-weighted USD: +1

Cartão de Marcagem de Macros de Ouro

Vista de radar das seis entradas macro. Pontos no anel externo são otimistas para o ouro; anel interno é de baixa. +4/6 indica um forte vento macro.

Passo 7: Incluir a sobreposição do sentimento de risco

O ouro também serve como um activo de abrigo durante os episódios de risco. Indicador de sentimento de risco um composto do preço do ouro em si, dos índices AUD/USD, USD/JPY e do stress financeiro fornece um sinal de regime em tempo real.

risk = get_series("/risk-sentiment")
latest_risk = risk[-1]["val"]  # Range: -1.0 (full risk-off) to +1.0 (full risk-on)

if latest_risk < -0.4:
    print("Risk-off regime: safe-haven gold demand likely elevated")
elif latest_risk > 0.4:
    print("Risk-on regime: macro drivers dominate gold signal")
else:
    print("Neutral regime: watch macro scorecard for direction")

Em um episódio de risco (pontuação abaixo de -0,4), mesmo o ouro com um marcador macro fraco pode se recuperar acentuadamente no posicionamento de refúgio seguro.

Colocando tudo em conjunto: um trecho de monitoramento ao vivo

Aqui está um script completo e autônomo que recupera todas as séries necessárias, calcula o cartão de pontuação macro de ouro e imprime um briefing conciso:

import requests
from datetime import date, timedelta

BASE = "https://fxmacrodata.com/api/v1"
KEY  = "YOUR_API_KEY"
START = str(date.today() - timedelta(days=90))

def get_series(path: str) -> list[dict]:
    r = requests.get(f"{BASE}{path}", params={"api_key": KEY, "start": START})
    r.raise_for_status()
    return r.json().get("data", [])

def score(series: list[dict], mode: str) -> float:
    if len(series) < 2:
        return 0.0
    v, p = series[-1]["val"], series[-2]["val"]
    if mode == "falling":
        return 1.0 if v - p < -0.05 else (-1.0 if v - p > 0.05 else 0.0)
    if mode == "rising":
        return 1.0 if v - p > 0.05 else (-1.0 if v - p < -0.05 else 0.0)
    if mode == "negative":
        return 1.0 if v < 0 else (-1.0 if v > 1.0 else 0.0)
    return 0.0

inputs = {
    "TIPS 10Y real rate"     : (get_series("/announcements/usd/inflation_linked_bond"), "negative"),
    "Breakeven inflation"    : (get_series("/announcements/usd/breakeven_inflation_rate"), "rising"),
    "Fed policy rate"        : (get_series("/announcements/usd/policy_rate"), "falling"),
    "Fed total assets"       : (get_series("/announcements/usd/cb_assets"), "rising"),
    "M2 money supply"        : (get_series("/announcements/usd/m2"), "rising"),
    "Trade-weighted USD"     : (get_series("/announcements/usd/trade_weighted_index"), "falling"),
}

gold   = get_series("/commodities/gold")
risk   = get_series("/risk-sentiment")

net = sum(score(s, m) for s, m in inputs.values())

print("=" * 52)
print(f"  Gold Macro Scorecard  |  {date.today()}")
print("=" * 52)
if gold:
    print(f"  Gold spot  : ${gold[-1]['val']:,.2f} / troy oz")
if risk:
    print(f"  Risk regime: {risk[-1]['val']:+.2f}  (-1=risk-off, +1=risk-on)")
print(f"  Net signal : {net:+.0f} / {len(inputs)}")
print("-" * 52)
for name, (s, m) in inputs.items():
    sig = score(s, m)
    arrow = "▲ bullish" if sig > 0 else ("▼ bearish" if sig < 0 else "→ neutral")
    val   = f"  [{s[-1]['val']:.2f}]" if s else ""
    print(f"  {arrow:12s}  {name}{val}")
print("=" * 52)

Interpretação e limitações

Este quadro identifica o macro regime Para o ouro, não o ponto de entrada exacto.

  • O atraso é importante. Os dados macros como o IPC e as folhas de pagamento não agrícolas são publicados com um atraso de uma a quatro semanas.
  • O posicionamento é importante. Mesmo com um regime macro fortemente otimista, um longo lotado em futuros de ouro pode significar que a mudança já está avaliada. a secção "commodities") deve complementar o quadro de avaliação macro, quando disponível.
  • Os choques geopolíticos prevalecem sobre a macro. Conflitos militares, crises de dívida soberana e decisões de diversificação de reservas do banco central podem desligar o ouro de qualquer sinal macro por semanas ou meses.
  • Demandas em moedas cruzadas. Os bancos centrais dos mercados emergentes em particular a China e a Índia são compradores significativos de ouro. Reservas de divisas A série pode servir de verificação secundária útil.

Próximos passos

  • Adicione sinais de prata e platina através do /produtos/prata E ... /produtos/platina a relação ouro/prata é um indicador de regime bem conhecido.
  • Camada no calendário de lançamento do FXMacroData para que seu script seja reiniciado automaticamente após cada anúncio do IPC ou do FOMC, em vez de em um temporizador diário fixo.
  • A taxa de juro é a taxa de câmbio mais elevada do que a taxa do euro.

O catálogo completo dos indicadores macro dos EUA e os dados sobre commodities utilizados neste artigo encontra-se em: /api-data-docs/usd Se você não tem uma ainda, você pode começar em fxmacrodata.com/subscribe- Não .

Blogroll