Methodology/Oro y divisas
Methodology

¿Subió el oro, o bajó tu moneda?

Del 10 de julio de 2025 al 10 de julio de 2026, el oro en USD subió un 23.93%. La misma posición de oro ganó un 26.95% en EUR, un 37.97% en IDR y un 45.50% en TRY al incluir el componente de FX en moneda local.

MMexchangerate.dev·Jul 13, 2026·7 min de lectura

Para un inversor que mide el oro en una moneda cotizada por USD, el retorno del oro en moneda local es (1 + gold USD return) × (1 + USD/local FX return) − 1. El último término importa: sumar los dos movimientos porcentuales es una aproximación, no el resultado exacto. Esta comparación usa barras de oro liquidadas y observaciones de FX no rellenadas hacia adelante en las mismas dos fechas hábiles.

Key points
Durante el año seleccionado, el oro en USD retornó un 23.93%; los resultados en moneda local mostrados aquí van desde un 26.95% en EUR hasta un 45.50% en TRY.
El oro en moneda local combina un movimiento del oro en USD, un movimiento de FX y un pequeño término de interacción.
La fórmula es una identidad contable. No establece qué causó el movimiento de ninguno de los dos mercados.
Ambas observaciones de los extremos deben estar liquidadas o publicadas para la fecha hábil seleccionada.
Las observaciones de FX rellenadas hacia adelante quedan excluidas de la comparación de investigación.

La pregunta que responde esta serie

Un gráfico de oro en USD responde una pregunta útil. No responde lo que experimentó un inversor local. Cuando el oro se mide en IDR, INR, JPY, EUR o TRY, tanto el precio en dólares como el tipo de cambio del dólar frente a esa moneda entran en el resultado.

Eso no significa que un precio local del oro en alza tenga una sola causa simple. El cálculo solo separa los componentes observables de precio y de FX durante un intervalo indicado. No hace ningún pronóstico ni afirma qué deberían hacer los inversores.

La fórmula exacta

Sea g el retorno del oro en USD y f el retorno del tipo de cambio expresado como moneda local por USD. Sea L el retorno del oro en moneda local. Entonces:

formula · local-currency gold returncopy
g = gold_usd_end / gold_usd_start - 1
f = usd_to_local_end / usd_to_local_start - 1
L = (gold_usd_end × usd_to_local_end) / (gold_usd_start × usd_to_local_start) - 1

L = g + f + (g × f)

La última expresión es útil para la explicación. g es el componente del oro en USD, f es el componente de la moneda, y g × f es su interacción. Por eso simplemente sumar dos cambios porcentuales no es exacto.

El período de comparación validado

Fechas hábiles compartidas y validadas
El 10 de julio de 2025 y el 10 de julio de 2026 tienen ambos un cierre diario liquidado de XAU/USD y observaciones de FX con base USD no rellenadas hacia adelante para EUR, JPY, IDR, INR y TRY. Se excluyeron los fines de semana y las fechas aún en formación.

Período seleccionado: 2025-07-10 a 2026-07-10. Cierre del oro: 3323.81 a 4119.172 USD por onza troy. Cada tipo de cambio es moneda local por USD. Todos los porcentajes mostrados están redondeados a dos decimales; los cálculos conservan la precisión completa.

MonedaComponentes de oro USD / FXRetorno de oro en moneda local
EUR23.93% + 2.44% + 0.58%26.95%
JPY23.93% + 10.63% + 2.54%37.10%
IDR23.93% + 11.33% + 2.71%37.97%
INR23.93% + 11.16% + 2.67%37.76%
TRY23.93% + 17.41% + 4.17%45.50%

Las observaciones de origen

El componente de oro en USD proviene de barras diarias liquidadas de XAU-USD-SPOT. El componente de FX proviene de observaciones fechadas con base USD para EUR, JPY, IDR, INR y TRY. Ambas respuestas de FX tuvieron source: ecb_daily, is_forward_filled: false, y data_updated_at igual a la fecha solicitada. Estos son tipos de referencia indicativos, no precios de liquidación ni de ejecución.

requests · exact inputs to preservecopy
GET https://api.goldprice.dev/v1/bars?symbol=XAU-USD-SPOT&interval=1d&from=2025-07-10T00:00:00Z&to=2026-07-10T00:00:00Z&limit=400

GET https://api.exchangerate.dev/v1/2025-07-10/USD?symbols=EUR,JPY,IDR,INR,TRY
GET https://api.exchangerate.dev/v1/2026-07-10/USD?symbols=EUR,JPY,IDR,INR,TRY

Una fecha es válida solo cuando la barra de oro está liquidada y la observación de FX no está rellenada hacia adelante. Si un aniversario de calendario no satisface ambas condiciones, ambas fechas de comparación retroceden juntas hasta el par de fechas hábiles compartidas más cercano. Eso evita que una serie tome silenciosamente un día distinto al de la otra.

Reproduce el cálculo

python · calculate and verify each currencycopy
from decimal import Decimal

gold_start = Decimal("3323.81")
gold_end = Decimal("4119.172")
fx_start = Decimal("16237.25")  # IDR per USD on 2025-07-10
fx_end = Decimal("18076.55")    # IDR per USD on 2026-07-10

g = gold_end / gold_start - 1
f = fx_end / fx_start - 1
local_return = (gold_end * fx_end) / (gold_start * fx_start) - 1
interaction = g * f

assert local_return == g + f + interaction

La aserción es una verificación útil antes de publicar. Una diferencia distinta de cero tras la aritmética con decimales exactos usualmente significa que la orientación del tipo se invirtió, que una fecha quedó desalineada, o que un valor intermedio se redondeó demasiado pronto.

Lo que esto no mide

  • Primas de distribuidores minoristas, impuestos, costos de almacenamiento, spreads o costos de entrega.
  • Un precio de ejecución negociable o precio de liquidación. Las observaciones de FX son datos de referencia indicativos.
  • Una explicación causal, un pronóstico o una recomendación de inversión.

Para código de aplicación que necesite una serie más larga en moneda local, consulta la guía de rangos históricos de FX y la referencia de barras de goldprice.dev. La clave no es la multiplicación. Es preservar las dos observaciones que hacen que la multiplicación sea históricamente honesta.

MM
exchangerate.dev
Notas de metodología para desarrolladores que trabajan con datos históricos de FX.

Keep reading

GuideTipos de cambio históricos y series temporales en una sola llamadaRead GuideRellena tipos FX sin sesgo de look-aheadRead GuideBacktest de retornos de oro en tu moneda localRead