How To Build An Fx Trading Bot With Hermes And Fxmacrodata banner image

Reference

Macro Education

How To Build An Fx Trading Bot With Hermes And Fxmacrodata

Build a practical FX trading bot with a Hermes model and FXMacroData. Learn how to wire macro releases, spot FX data, and rule-based risk filters into an automated signal loop you can run locally.

其他语言版本 English

如何使用Hermes和FXMacroData构建一个FX交易机器人

编者: 汇率数据组
发表时间: 2026年5月21日

赫尔默斯模型非常适合实用交易助理,因为它们快速,易于本地运行,并且在工具调用工作流中是可预测的. 在本指南中,您将构建一个轻量级的外汇交易机器人,它将赫尔梅斯推理与FXMacroData市场数据相结合,以便它可以评估宏观惊喜,排名交易设置,并输出有纪律的交易想法.

举例战略的重点是 美元/日元 并且使用 美国通货膨胀没有人知道. 美联储政策利率没有 日本央行政策利率 您可以重新使用相同的框架,用于任何由FXMacroData覆盖的对.


预先要求

  • 一个本地Python 3.10+环境.
  • 来自FXMacroData的API键 管理API现在我们要做什么?
  • 一个Hermes模型终端点 (本地或托管),如Hermes通过Ollama.
  • 基本熟悉REST API和Python脚本.

安装依赖:

pip install requests python-dotenv

步骤1:定义您的机器人目标和风险规则

在编码之前,锁定决策范围.

  • 只有一个货币对 (USD/JPY) 进行交易.
  • 只有对具有重大影响的宏观变化作出反应.
  • 永远不要在v1中自动进行实时订单.
  • 输出:方向,可靠性,无效度,位置大小建议.

这使得第一台机器人不变成黑子.


步骤2:从FXMacroData中提取宏观数据和外汇数据

使用查询参数验证的API.

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

您也可以查询 发布日程 现在我 机器人位置 增加事件风险和定位偏见到您的即时环境中.


步骤3:在Python中构建一个兼容Hermes的信号循环

下面的脚本获取最近的数据,创建一个紧的语境有效负载,并要求Hermes进行结构化决策. 通过要求严格的JSON输出来保持确定性.

import os
import json
import requests
from datetime import datetime, timezone

API_BASE = "https://fxmacrodata.com/api/v1"
API_KEY = os.environ["FXMD_API_KEY"]
HERMES_URL = os.environ["HERMES_URL"]  # Example: http://localhost:11434/api/generate
HERMES_MODEL = os.environ.get("HERMES_MODEL", "hermes3")


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


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


usd_infl = last_value(fxmd_get("/announcements/usd/inflation"))
jpy_rate = last_value(fxmd_get("/announcements/jpy/policy_rate"))
usd_rate = last_value(fxmd_get("/announcements/usd/policy_rate"))
spot = fxmd_get("/forex", base="USD", quote="JPY").get("data", [])

spot_last = spot[-1] if spot else {}
spot_prev = spot[-2] if len(spot) > 1 else spot_last

context = {
    "timestamp_utc": datetime.now(timezone.utc).isoformat(),
    "pair": "USD/JPY",
    "macro": {
        "usd_inflation_latest": usd_infl.get("value"),
        "usd_policy_rate_latest": usd_rate.get("value"),
        "jpy_policy_rate_latest": jpy_rate.get("value"),
    },
    "price": {
        "last": spot_last.get("value"),
        "previous": spot_prev.get("value"),
    },
    "rules": {
        "allowed_actions": ["long", "short", "flat"],
        "max_risk_per_trade_pct": 0.5,
        "require_invalidation_level": True,
    },
}

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

Return JSON only with keys:
action, confidence, thesis, invalidation, size_pct, next_data_to_watch

Rules:
- No prose outside JSON.
- Confidence between 0 and 1.
- size_pct must be <= 0.5.
"""

hermes_req = {
    "model": HERMES_MODEL,
    "prompt": prompt,
    "stream": False,
}

resp = requests.post(HERMES_URL, json=hermes_req, timeout=45)
resp.raise_for_status()
raw = resp.json().get("response", "{}")

decision = json.loads(raw)
print(json.dumps(decision, indent=2))

这种模式为什么有效:

  • 由于FXMacroData提供结构化输入,因此Hermes考虑清洁的字段而不是杂的纹文本.
  • 提示执行一个有界限的模式,减少输出漂移.
  • 风险限制被注入到背景中,而不是隐含.

步骤4:添加事件感知过器

许多不良的机器人决策都发生在高波动窗口周围.

  • 时间表接近: 如果在30分钟内将释放顶级,降级大小或力度. flat现在我们要做什么?
  • 制度不一致: 如果宏观偏见和价格动力严重不一致,则自动降低信心.

快速参考您自己的文档中的终端链接: 美国非农业工资没有人知道. 美国核心PCE没有 日本通货膨胀现在我们要做什么?


步骤5:将决策转化为警报,而不是自动执行

在生产中,首先将决策转移到Slack/Telegram. 人类确认应该是强制性的,直到你有足够的前期测试样本.

[FX BOT] USD/JPY
Action: LONG
Confidence: 0.72
Thesis: US inflation + sticky core, policy divergence still USD-supportive.
Invalidation: Daily close below 154.20
Suggested Size: 0.35%
Watch Next: US Core PCE (Friday 12:30 UTC)

这样可以清晰地控制问责制和可审计性,同时节省研究时间.


常见的错误

  • 让模型选择风险限制.
  • 通过对对进行验证,
  • 忽略了你管道中的陈旧数据检查.
  • 像是对模型的信心进行对待,
执行说明: 保持你的赫尔默斯提示和风险逻辑版本分开. 迅速的变化不应该默默改变风险行为.

你所建立的

现在您有一个完整的v1架构,用于Hermès驱动的外汇机器人:结构化宏观+外汇摄入,确定性模型输出和风险有限信号生成.接下来,将相同的框架扩展到EUR/USD等第二对,并比较不同地区的政策分歧逻辑.

为了深入了解, 加入一个每日总结工作,

AI Answer-Ready

Key Facts

Page
How To Build An FX Trading Bot With Hermes And FXmacrodata
Section
Articles
Canonical URL
https://fxmacrodata.com/articles/how-to-build-an-fx-trading-bot-with-hermes-and-fxmacrodata
Source
FXMacroData editorial and official publisher references
Last Updated
2026-05-28 00:01 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 this page about? This page explains How To Build An FX Trading Bot With Hermes And FXmacrodata with directly usable context for trading, research, and API workflows.

What source should be cited? Use the canonical URL and the listed source field; cite official publisher references when available.

How fresh is this content? The last updated value above reflects the page metadata or latest available data timestamp.

Can this be used in AI assistants? Yes. This section is intentionally structured for retrieval and citation in chat assistants.

Prompt Packs

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

Blogroll