Live release feed
Sub-second macro releases for FX backtests
Point-in-time history

Reference

Macro Education

Cómo construir un bot de negociación de divisas con Hermes y FXMacroData

Construir un bot de investigación de FX con Hermes que convierta las macros de FXMacroData, el contexto spot USD/JPY, los contratos JSON estrictos y las puertas de riesgo duro en ideas comerciales de alerta.

Disponible también en English
Share article X LinkedIn Email
Cómo construir un bot de negociación de divisas con Hermes y FXMacroData image

Cómo construir un bot de negociación de divisas con Hermes y FXMacroData

Autor: el Equipo de FXMacroData
El nombre de la publicación: 21 de mayo de 2026

Hermes es útil para la automatización de divisas cuando el trabajo está estrechamente limitado: leer datos macro estructurados, compararlo con el contexto de precios, y devolver una decisión que una capa de riesgo separada puede aceptar o rechazar. El valor de las pérdidas que produce alertas comerciales, no órdenes en vivo.

El robot terminado se combinará . Inflación en los Estados Unidos¿ Qué ? Tasa de política de la Reserva Federal¿ Qué ? Tipo de interés de la política del Banco de Japón, el contexto cambiario al contado y los controles de riesgo de sucesos de la calendario de liberaciónLa elección de diseño importante es la separación: FXMacroData proporciona entradas limpias, Hermes escribe la tesis, y su propio código impone el riesgo.

Capa de datos

Las macros, las tasas de política, los eventos del calendario y los cambios al contado de FXMacroData.

Capa de razonamiento

Hermes convierte las entradas estructuradas en una tesis direccional concisa.

Capa de control

Validación de esquemas, filtros de eventos, límites de tamaño y una alerta legible por el ser humano.

Los requisitos previos

  • Python 3.10 o más nuevo.
  • Una clave de la API de FXMacroData de Gestión de las API- ¿ Qué ?
  • Un punto final de Hermes local o alojado, por ejemplo, Hermes a través de Ollama.
  • Confort básico con las API REST y las variables de entorno.
pip install requests python-dotenv pydantic
export FXMD_API_KEY="YOUR_API_KEY"
export HERMES_URL="http://localhost:11434/api/generate"

Paso 1: Establecer un mandato de bot limitado

No empiece con un operador autónomo de varios pares, comience con un asistente de investigación cuyo único trabajo es decir si vale la pena revisar la configuración actual del USD/JPY.

Elección del diseño Primera versión Razón
Universo de parejas Solo USD/JPY La divergencia de políticas y el riesgo de intervención son fáciles de razonar explícitamente.
Ejecución Solo para alertas Evita que el texto modelo se convierta en un boleto de pedido.
Producción Decisión JSON Permite que tu código valide todos los campos antes de que alguien vea la alerta.
Límites de riesgo El riesgo máximo sugerido es del 0,5%. Mantenga el modelo dentro de un límite de control fijo.
Principio de funcionamiento: Hermes puede escribir la tesis comercial, pero nunca debe decidir los límites de posición, omitir las comprobaciones del calendario o realizar el pedido.

Paso 2: extraer sólo las entradas que el modelo necesita

Comience con tres llamadas de punto final: el último comunicado de inflación de los EE.UU., el último contexto de tasas de interés de política de los Estados Unidos y el último marco de tasos de interés política de Japón.

curl "https://api.fxmacrodata.com/v1/announcements/usd/inflation?api_key=YOUR_API_KEY"
curl "https://api.fxmacrodata.com/v1/announcements/usd/policy_rate?api_key=YOUR_API_KEY"
curl "https://api.fxmacrodata.com/v1/forex?base=USD&quote=JPY&api_key=YOUR_API_KEY"

En Python, mantenga el cliente de datos pequeño. Si una solicitud falla, detenga el bucle de señal en lugar de pedir a Hermes que razone sobre el contexto incompleto.

import os
import requests

API_BASE = "https://api.fxmacrodata.com/v1"
API_KEY = os.environ["FXMD_API_KEY"]

def fxmd_get(path, **params):
    response = requests.get(
        f"{API_BASE}{path}",
        params={"api_key": API_KEY, **params},
        timeout=25,
    )
    response.raise_for_status()
    return response.json()

Paso 3: Normalización del contexto de las operaciones

Hermes funciona mejor cuando el prompt recibe un objeto de contexto compacto en lugar de cargas útiles de punto final crudo.

def latest_row(payload):
    rows = payload.get("data", [])
    return rows[-1] if rows else {}

context = {
    "pair": "USD/JPY",
    "usd_inflation": latest_row(fxmd_get("/announcements/usd/inflation")),
    "usd_policy_rate": latest_row(fxmd_get("/announcements/usd/policy_rate")),
    "jpy_policy_rate": latest_row(fxmd_get("/announcements/jpy/policy_rate")),
    "spot": fxmd_get("/forex", base="USD", quote="JPY").get("data", [])[-5:],
    "risk_rules": {
        "allowed_actions": ["long", "short", "flat"],
        "max_size_pct": 0.5,
        "requires_invalidation": True,
    },
}
Bias macro

Las tasas, la inflación y la dirección sorpresa definen la presión fundamental.

Confirmación del precio

Los niveles recientes del USD/JPY muestran si el mercado ya está validando la tesis.

Riesgo de suceso

Los próximos eventos de IPC, NFP, PCE o del banco central pueden anular la señal.

Paso 4: Forzar un contrato de decisión estricto

El modelo debe devolver un objeto verificable por máquina. Mantenga el esquema lo suficientemente corto como para que un humano pueda escanearlo y lo suficientemente estricto como que su código pueda rechazar la salida malformada.

{
  "action": "long | short | flat",
  "confidence": 0.0,
  "thesis": "one concise sentence",
  "invalidation": "specific market or macro condition",
  "size_pct": 0.0,
  "next_data_to_watch": "release or event"
}
import json

prompt = f"""
You are an FX research assistant.
Use this context: {json.dumps(context)}

Return JSON only. No prose outside JSON.
Choose action from long, short, or flat.
Keep size_pct at or below 0.5.
Include a concrete invalidation condition.
"""

Aquí es donde muchos ejemplos de bots van mal: piden al modelo un sistema de comercio completo.

Paso 5: Llama a Hermes y rechaza la mala salida

La llamada de Hermes es pequeña. El paso de validación es la parte importante: si la respuesta no es válida JSON o viola sus límites, el bot no debe devolver ningún comercio.

import requests

hermes_request = {
    "model": os.environ.get("HERMES_MODEL", "hermes3"),
    "prompt": prompt,
    "stream": False,
}

response = requests.post(
    os.environ["HERMES_URL"],
    json=hermes_request,
    timeout=45,
)
response.raise_for_status()
decision = json.loads(response.json().get("response", "{}"))
if decision.get("action") not in {"long", "short", "flat"}:
    decision = {"action": "flat", "thesis": "Rejected invalid action"}

if float(decision.get("size_pct", 0)) > 0.5:
    decision["action"] = "flat"
    decision["size_pct"] = 0.0
    decision["thesis"] = "Rejected oversized risk request"

Paso 6: Añadir puertas de eventos y datos obsoletos

Antes de convertir una decisión en una alerta, ejecute filtros duros que no dependen del modelo.

Puerta El disparador Respuesta del bot
Proximidad del evento Liberación de alto impacto en los próximos 30 minutos Forza plana o reducir el tamaño a cero.
Datos macro obsoletos El último campo requerido falta o es más antiguo de lo esperado Salta la alerta y registra la entrada que falta.
Diferencias de régimen Conflictos de la Macro tesis y el momento de la localización Baja la confianza y pide confirmación.

Puedes ampliar el filtro de eventos con Pago de los trabajadores no agrícolas de los Estados Unidos¿ Qué ? PCE de base de los Estados Unidos¿ Qué ? Japón inflación, y Posicionamiento en USD COT Una vez que el bucle de un solo par es estable.

Paso 7: Enviar una alerta, no una orden

La primera versión de producción debe enviar un mensaje a Slack, Telegram, correo electrónico o un panel privado.

[FX BOT] USD/JPY
Action: LONG
Confidence: 0.72
Size: 0.35% risk, capped by rule
Thesis: Policy divergence still supports USD/JPY.
Invalidation: Daily close below the defined support zone.
Watch next: US Core PCE and BoJ communication.
Punto de control humano en el bucle: Registre el contexto, la versión del mensaje, la version del modelo y la acción humana final para que pueda revisar si Hermes está agregando señal o solo comentarios fluidos.

Opcional: conectar Hermes a través de MCP

Si su ejecutor de agentes admite el Protocolo de contexto modelo, puede exponer FXMacroData como una herramienta en lugar de escribir llamadas REST directas en cada script de bot.

{
  "servers": {
    "FXMacroData": {
      "type": "http",
      "url": "https://mcp.fxmacrodata.com"
    }
  }
}

Un buen mensaje de MCP es aún estrecho:

Use FXMacroData tools to review USD/JPY.
Check US inflation, US policy rate, Japan policy rate,
latest USD/JPY spot context, and upcoming calendar risk.
Return only the decision JSON contract.

Errores comunes a evitar

  • Permitir que el modelo cree o cambie los límites de riesgo.
  • Pasando respuestas de API en bruto enteras en el prompt cuando un pequeño objeto de contexto es suficiente.
  • Se omitieron las comprobaciones de datos obsoletos porque el modelo produjo una respuesta segura.
  • Probando en demasiados pares antes de que un par tenga un rastro de auditoría limpio.
  • Tratar la confianza del modelo como una probabilidad de ganancia.

Lo que construiste

Usted construyó un bucle de investigación FX con hermes con entradas estructuradas FXMacroData, un esquema de decisión compacto, puertas de riesgo duro y salida de alerta solamente. La próxima extensión útil no es la ejecución automática. Es un trabajo de repetición diaria: ejecute el bot sobre cada configuración de la mañana de Londres, registre la decisión y compare la tesis del modelo con lo que sucedió después de la próxima versión importante.

Blogroll

AI Answer-Ready

Key Facts

Page
How To Build An FX Trading Bot With Hermes And FXmacrodata
Section
Articles
Canonical URL
https://fxmacrodata.com/es/articulos/how-to-build-an-fx-trading-bot-with-hermes-and-fxmacrodata
Source
FXMacroData editorial and official publisher references
Last Updated
2026-07-09 07:16 UTC

Provenance And Trust

Cite the canonical URL and source field above. Where available, this page maps to official publisher releases and timestamped updates.

Quick Q&A

What is the main point of How to Build an FX Trading Bot with Hermes and FXMacroData? Build a Hermes-powered FX research bot that turns FXMacroData macro releases, USD/JPY spot context, strict JSON contracts, and hard risk gates into alert-only trade ideas.

How can traders use this with FXMacroData? Use the article context alongside FXMacroData dashboards, indicator docs, release calendars, and API endpoints to structure macro research and event-risk workflows.

Can an AI assistant use this topic? Yes. FXMacroData exposes ChatGPT, MCP, OpenAPI, llms.txt, and API documentation surfaces so AI assistants can retrieve the relevant macro data and cite canonical pages.

Prompt Packs

Use these in ChatGPT, Claude, Gemini, Mistral, Perplexity, or Grok for consistent source-aware outputs.