Datos

forex-centuries

Tipos de cambio, metales preciosos, tasas de interés, precios de materias primas, inflación, PBI, salarios reales y deuda soberana, desde el año 1 hasta 2026, armados a partir de 26 fuentes en un solo build reproducible.

Traducción automática del original en inglés, todavía sin revisar. Leer el original.

Snapshot
f79a85b
Commit
26 de febrero de 2026
Licencia del código
MIT (código y compilación)
Términos de los datos
Cada fuente mantiene los suyos (ver Procedencia)

forex-centuries es un dataset monetario y económico de largo plazo: tipos de cambio desde 1106, oro desde 1257, precios de materias primas desde 1260, tasas de interés reales desde 1311, PBI per cápita desde el año 1, y deuda soberana e índices de crisis desde 1800. Veintitrés fetchers automáticos y tres fuentes mantenidas a mano alimentan un build de ocho pasos que normaliza todo en paneles unificados anuales y diarios.

El sentido de la colección es la duración. La teoría moderna del tipo de cambio se ajusta sobre muestras que empiezan en 1971, a veces en 1900, en un mundo donde los sistemas monetarios tienen mil años. La mayor parte del comportamiento interesante (el colapso de un régimen, el envilecimiento de la moneda, el final de una moneda de reserva) queda fuera de esa ventana.

Estado

Esta página documenta el snapshot del repositorio commiteado el 26 de febrero de 2026. Las fechas de las observaciones varían según la fuente; la fecha del commit no dice qué tan actualizados están los datos. Citá el snapshot y no la rama: main se mueve, y una cita que apunta a una rama que se mueve no identifica qué usó cada uno.

El repositorio corre un Weekly Data Update programado. Todas las corridas registradas en el historial de GitHub Actions fallaron: treinta de treinta, la última el 21 de septiembre de 2026, en el paso “Update sources”. Ese es el estado observado del job de actualización. No dice nada, ni a favor ni en contra, sobre si los datos commiteados están bien, y sí significa que no entró ninguna actualización automática desde el último commit manual.

Hoy el repositorio no tiene DOI, ni tags ni releases, así que la cita de abajo fija un hash de commit. Sacar un DOI a través de Zenodo daría un identificador estable por release; hasta entonces, el hash lo reemplaza.

Cobertura

CategoríaQuéPaíses / seriesPeríodo
PBI per cápitaPBI real por persona178 países1 d. C. – 2022
Tipos de cambioTipo de cambio bilateral contra USD, GBP y tipos cruzados~243 países1106 – 2026
OroPrecios del oro en GBP y USDGlobal1257 – 2025
PlataPrecios de la plata y la relación oro/plataGlobal1687 – 2025
Precios de materias primas973 series históricas y ~70 modernasCiudades europeas y asiáticas, después global1260 – 2026
Tasas de interésReales y nominales, de corto y largo plazo8 países históricos; nominales de Reino Unido y EE. UU.1311 – 2025
Inflación / IPCÍndices de precios al consumidor~180 países1500 – 2025
Salarios realesSalario real de los trabajadores en ratios de subsistencia~40 países1820 – 2000+
Deuda soberanaDeuda pública sobre PBI191 países1800 – 2016
Regímenes cambiarios y crisisClasificaciones de tipo fijo/flotante; índices de crisis bancarias, cambiarias y de deuda~190 países1800 – 2021
Tipos de cambio reales efectivosPonderados por comercio, deflactados por IPC178 paísesdécada de 1960 – 2026
Macro histórica suecaTipo de cambio, IPC, salarios, PBI, oferta monetaria, acciones, bonosSuecia1277 – 2026
Estadísticas financieras históricasTipo de cambio oficial y de mercado, tasas, oferta monetaria, balances de bancos centralesVarios~1500 – 1950
Panel macroeconómico59 variables entre tipo de cambio, IPC, tasas, PBI, crédito, vivienda y acciones18 economías avanzadas1870 – 2017

Las fechas de fin son la última observación del archivo del proveedor en este commit, no la cobertura actual del proveedor: acá los tipos de cambio del Banco Mundial terminan en 2024 y los precios de materias primas del Banco Mundial en enero de 2026, y los dos siguieron avanzando desde entonces en la fuente.

Profundidad por serie: más de 2.000 años para el PBI (Maddison, desde el año 1), 900 para los tipos de cambio medievales (MEMDB, 1106), 768 para el oro (MeasuringWorth, 1257), 707 para las tasas de interés reales (Schmelzing, 1311), 654 para los precios de materias primas (Allen-Unger, 1260), 526 para los paneles de tipo de cambio (Clio Infra, 1500) y 55 para el tipo de cambio diario (FRED, 1971).

Procedencia

Los archivos crudos caen en data/sources/<provider>/ sin tocar, exactamente como los publicó el proveedor, y build.py deriva los paneles a partir de ahí. Nada en data/derived/ se edita a mano, así que cualquier número se puede rastrear hasta un archivo del proveedor y volver a derivar desde ahí.

La licencia son dos preguntas separadas. El LICENSE del repositorio es MIT, y cubre el código y la compilación: los fetchers, el build, la estructura. No relicencia, ni puede relicenciar, los datos de fondo. Cada proveedor de abajo fija sus propios términos, y son distintos: algunos son abiertos, algunos piden atribución, algunos restringen la redistribución o el uso comercial, y unos pocos tienen acceso restringido. Revisá los términos de cualquier fuente en la que te apoyes, y citá esa fuente además de este dataset.

Automáticas

FuenteDatosPeríodo
FRED23 pares de monedas diarios, 2 índices del USD1971 – 2025
IMF IFS via Code for IATI173 monedas contra USD, mensual1955 – 2025
BISTipos bilaterales y efectivos, ~190 economías1957 – 2026
Sveriges Riksbank53 series bilaterales de la SEK, diarias1900 – 2026
World Bank FXTipos oficiales, todos los miembros1960 – 2024
World Bank Commodities~70 precios de materias primas1960 – ene. 2026
JST Macrohistory18 economías, 59 variables1870 – 2017
Penn World Table185 países, tipo de cambio y PPA1950 – 2023
MeasuringWorthTipo de cambio, oro, tasas de interés, IPC de EE. UU.1257 – 2025
Clio InfraTipo de cambio, inflación, bonos, deuda, PBI, salarios reales1500 – 2016
FreeGoldAPIOro, plata, relación oro/plata1258 – 2025
LBMAOro y plata diarios, USD/GBP/EUR1968 – 2025
DataHub GoldOro mensual, USD1833 – 2025
IRR (Ilzetzki, Reinhart y Rogoff)Clasificaciones de facto de regímenes cambiarios1940 – 2021
Bank of EnglandDataset del milenio: $/£, tasas, precios, PBI1791 – 2016
Schmelzing (BoE)Tasas de interés reales, 8 países1311 – 2018
Maddison ProjectPBI per cápita, 178 países1 d. C. – 2022
Allen-Unger GCPD973 series de precios de materias primas1260 – 1914
Bruegel / Darvas REERTipos de cambio reales efectivos, 178 paísesdécada de 1960 – 2026
IMF HPDDDeuda soberana sobre PBI, 191 países1800 – 2015
CFS Historical Financial StatisticsTipo de cambio, tasas, oferta monetaria, balances de bancos centrales~1500 – 1950
Riksbank Historical Monetary StatisticsTipo de cambio, IPC, salarios, PBI, dinero y títulos de Suecia1277 – 2020
Reinhart y RogoffRegímenes, deuda/PBI, inflación, índices de crisis1800 – 2016

Manuales

Commiteadas al repositorio porque el proveedor no ofrece ninguna exportación programática.

FuenteDatosPeríodoPor qué a mano
MEMDB Spufford13.197 cotizaciones cambiarias medievales, 521 lugares1106 – 1500No tiene API de exportación
MEMDB Metz50.559 registros, Bajo Rin y comparaciones1350 – 1800No tiene API de exportación
Global Macro Database243 países, tipo de cambio contra USD y REER1960 – 2024Acceso por mail

Descargas

Los dos archivos son el snapshot fijado, no la rama actual:

Los paneles armados están en data/derived/normalized/: yearly_unified_panel.csv (formato largo, ~24.700 observaciones de 243 países, 1500–2025), yearly_unified_wide.csv, fred_daily_normalized.csv (13.802 fechas × 23 monedas) y su versión ancha.

Cómo cargarlo

Cloná en el commit fijado, así los archivos coinciden con esta página:

git clone https://github.com/unbalancedparentheses/forex-centuries
cd forex-centuries
git checkout f79a85bf6ae0dbad8d79ea56902caef43c7bd947

El panel anual está en formato largo con cuatro columnas (year, country, rate_per_usd, source) y no necesita dependencias para leerse:

import csv
from collections import defaultdict

series = defaultdict(list)
with open("data/derived/normalized/yearly_unified_panel.csv") as f:
    for row in csv.DictReader(f):
        series[row["country"]].append((int(row["year"]), float(row["rate_per_usd"])))

gb = sorted(series["United Kingdom"])
print(f"{len(gb)} years, {gb[0][0]}–{gb[-1][0]}")

O con pandas, tomando la serie de un país:

import pandas as pd

panel = pd.read_csv("data/derived/normalized/yearly_unified_panel.csv")
gb = panel[panel.country == "United Kingdom"].set_index("year").rate_per_usd
print(gb.describe())

La columna source registra qué proveedor aportó cada observación, así que una serie armada con más de una fuente se puede volver a separar. Vale la pena hacerlo antes de sacar conclusiones de un join, porque los proveedores no se ponen de acuerdo sobre el mismo año más seguido de lo que te gustaría.

Cómo citarlo

Todavía no hay DOI, así que citá el snapshot por hash:

@misc{forex-centuries,
  author       = {Federico Carrone},
  title        = {forex-centuries: Twenty Centuries of Exchange Rate, Gold,
                  Silver, Interest Rate, and Commodity Price Data (1 CE--2026)},
  year         = {2026},
  howpublished = {\url{https://github.com/unbalancedparentheses/forex-centuries/tree/f79a85bf6ae0dbad8d79ea56902caef43c7bd947}},
  note         = {Snapshot f79a85bf6ae0dbad8d79ea56902caef43c7bd947,
                  committed 2026-02-26}
}

Federico Carrone, forex-centuries: Twenty Centuries of Exchange Rate, Gold, Silver, Interest Rate, and Commodity Price Data (1 CE–2026), 2026. Snapshot f79a85b, commiteado el 26 de febrero de 2026. https://github.com/unbalancedparentheses/forex-centuries/tree/f79a85bf6ae0dbad8d79ea56902caef43c7bd947

Citá también a los proveedores de fondo. La compilación es una comodidad; las mediciones son de ellos.

Escrito a partir de estos datos