为什么宏观数据会成为黄金
黄金不是由收益,股息或收入增长驱动的.它的价格基本上是持有非利资产的机会成本和市场对货币和地缘政治不稳定的集体恐惧的函数.这意味着宏观数据实际利率,通胀预期,美元强度,央行资产负债表解释了黄金长期价格轨迹的大部分.
对于交易者和分析师来说,这是一个优势:关键变量在固定日历上发布,高精度测量,并通过API访问.FXMacroData显示了美国 (主要黄金驱动力) 和任何其他G10货币的相关指标,其中央行决定影响黄金需求.
核心论点
实际利率下降时,黄金上.美元下跌时,金价上;通货膨胀预期上时,黃金上升.每一个信号都能通过宏观数据终点实时观察到.
步骤1: 找出黄金的现货价格
在建立预测框架之前,建立基线:今天的黄金价格. 商品终点现在我们要做什么?
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 }
]
}
在Python中,一个清洁的方式来拉出这个数组是:
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}, ...]
黄金现货价格 LBMA PM 固定
Monthly data, Jan 2024 – Apr 2025. Gold surged from ~$2,000 to above $3,000 as real rates declined and dollar momentum shifted.
步骤2:追踪美国实际利率
黄金的最强的单一宏观预测因素是美国的实际利率,即通货膨胀后可获得的安全资产回报率.当实际利息非常负 (政策利率低于通货通胀),黄金就会成为合理的价值储备.当真实利率变得积极并上升时,黄金面临国债的激烈竞争.
两个FXMacroData系列让你准确地构建实际利率图像:
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")
A sharply negative TIPS yield (below -1%) historically correlates with gold rallies of 20–40%. When TIPS yields climbed from -1.1% in early 2022 to +2.0% by late 2023, gold stagnated despite elevated nominal inflation. The signal was clear: the opportunity cost of holding gold had become meaningful.
信号规则:提示收益率制度
- 提示 10Y < -0.5%:强烈的黄金后风
- 提示 10Y 在 -0.5%至 +0.5%之间:中性观察变化方向
- TIPS 10Y > +1.0%:黄金的结构性逆风
提示 10Y 实际收益率与黄金价格
值得注意的是,TIPS收益率轴是翻转的,
Step 3: Monitor the US Inflation Regime
黄金与通货膨胀的关系比流行说法更细微. 在非常短期内,黄金并不总是立即对单个CPI打印作出反应.重要的是通货通胀制度,市场是否认为通货胀将保持高,以及美联储是否落后于曲线.
拉出核心通胀套件来跟踪制度变化:
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")
这里最有前性的信号是 破产率通胀率当10年平衡通货膨胀率急剧上升时,比如在两个月的窗口中从2.2%上升到2.8%,这表明债券市场预计通胀将持续.即使政策利率同时上升,这种环境也往往有利于黄金,因为实际利率可能仍在下降.
使用 通货膨胀终点 现在我 终点值 总体CPI决定了叙事,但PCE驱动了美联储的决策.在总体CPI上升而PCE保持固的情况下,的分歧通常不会产生持续的黄金购买压力.
美国通胀成分
标题CPI是主导情报的,但核心PCE是推动美联储的决策. 通胀的上升表明市场预计价格压力将持续,
Step 4: Watch Fed Policy Signals and the Balance Sheet
黄金对美联储信誉非常敏感.市场价格黄金部分是为了抵御货币值,即央行将资产负债表扩张到无法放松的风险.两个FXMacroData指标直接捕捉到这一点.
fed_rate = get_series("/announcements/usd/policy_rate")
fed_assets = get_series("/announcements/usd/cb_assets")
m2 = get_series("/announcements/usd/m2")
没有什么. 美联储总资产 series tracks the size of the Fed's balance sheet in trillions. During QE cycles (2008–2014, 2020–2022), this series expanded sharply, and gold rallied strongly in both periods. When QT (quantitative tightening) commenced in 2022, gold lost momentum not just because of rising real rates but because the balance sheet signal turned bearish.
M2货币供应增长是一个较长的滞后指标.当M2以两位数的年率增长 (2021年为25%以上) 时,历史上预示着最终支持黄金的通货膨胀压力. 当M2增长逆转并变为负值时 (2023年大部分时间),货币值情况会减弱.
Step 5: Check Dollar Strength
黄金的价格以美元计算,因此美元强的价值使黄金价格在美元下降,并降低了非美国买家的购买力激励. 贸易权重指数,提供了最清洁的整体图像.
twi = get_series("/announcements/usd/trade_weighted_index")
结构上,黄金和美元往往是相反相关的,但这种关系在真正的危机时期会崩,当两者都能同时因安全避难所需求而上时.由于美国汇率差异缩小,美元疲软的情况比全球风险减退 (黄金也可能受益,但机械转换较弱) 导致的美元疲弱的情况更可靠.
贸易权重美元与黄金
美元轴转换:美元走弱 (图中较高) 和黄金值一起走,说明结构反相关性.
为了建立这种利率差异的多货币图像,使用FXMacroData的其他G10央行政策利率终点与美联储利率相比,例如: 欧元政策利率 美元的利率优势是否正在缩小.
步骤6:建立一个复合金宏观分数表
上面的框架可以被分解成一个简单的分数表,将一个方向信号分配给每个指标,并将它们汇总成净偏差.
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}")
六种输入中净分数为+4或以上是黄金的强大宏观尾风.净分分数是-3或以下是逆风.中间范围 (-2到+3) 要求更密切关注主导驱动器而不是复合物.
样本输出
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
黄金宏观分数表
六个宏观输入的雷达视图. 外环的点是黄金的;内环是下行.净+4/6信号强大的宏观尾风.
步骤7:包括风险感
黄金在风险降低时也可以作为安全避险资产. 风险情绪指标 黄金价格本身,澳元/美元,美元/日元以及金融压力指数的综合值提供实时模式信号.
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")
在风险降低时 (分数低于-0.4),即使是宏观评分表弱的黄金也可以在安全避险位置上大幅上.风险情绪覆盖是短期内可以推翻下行宏观读数的断路器,这就是为什么有纪律的黄金の交易者总是同时持有两种观点.
整合起来:一个现场监控片段
完成了所有所需的序列,计算了黄金宏观分数表,
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)
解释和限制
这一框架确定了宏观 制度 对于黄金来说,不是准确的入口点.
- 延迟是重要的. 宏观数据发布,如CPI和非农业工资单,有一个到四周的滞后. 评分表反映了最近发布的值,而不是实时经济状况.
- 位置是重要的. 即使在宏观经济中出现强势,黄金期货的大量买入也可能意味着交易已经有价. 商品部分应在可用时补充宏观评分表.
- 由于地缘政治冲击, 军事冲突,主权债务危机以及央行储备多元化决定,
- 跨货币需求 新兴市场的央行,特别是中国和印度,是黄金的重要买家.它们的需求是由储备多元化动机驱动的,这些动力可能与美国宏观信号截然不同. 外汇储备 它们可以作为有用的二次检查.
下一步
本文中使用的美国宏观指标和大宗商品数据的完整目录可在 美国人民币 您可以使用任何FXMacroData API 密钥访问. 没有任何信息可以提供.现在我们要做什么?