// TECH

Dónde conseguir datos de calidad (gratuitos y pagos)

Yahoo Finance, Polygon, Tiingo, Binance, Dukascopy, Nasdaq Data Link y más — y cómo manejar bien los ajustes de splits y dividendos.

Todo backtest, todo modelo y todo scanner empieza en el mismo lado: los datos. Y la regla es vieja pero implacable — garbage in, garbage out. Podés tener el mejor sistema del mundo: si los datos son malos, el resultado es basura con buena presentación.

Acá va mi mapa de dónde sacar datos, separados por presupuesto y caso de uso.

Gratuitos (para empezar y prototipar)

FuenteActivosGranularidadNota
Yahoo Finance (yfinance)Acciones, ETFs, índicesDiario / intradía limitadoEl clásico para arrancar; calidad despareja
StooqAcciones, índices, FXDiarioBuena cobertura histórica gratis
Alpha VantageAcciones, FX, criptoIntradía / diarioFree tier con límite de requests
Binance APICriptoTick / klinesGratis y muy completa para cripto

Para empezar a aprender, Yahoo + Binance te alcanzan. Pero ojo: gratis suele significar sin garantías de calidad ni de continuidad.

Pagos / freemium (cuando vas en serio)

FuenteFuerte enPor qué
Polygon.ioAcciones y opciones USDatos intradía y tick de buena calidad, API moderna
TiingoAcciones, fundamentalsExcelente relación precio/calidad, históricos limpios
DatabentoEquities, futurosDatos de mercado crudos, point-in-time, nivel pro
Nasdaq Data Link (ex-Quandl)Multi-asset, alternativosCatálogo enorme de datasets
DukascopyForexTick data histórico de FX, gratis y profundo

Mi regla: si vas a tomar decisiones con plata real, pagá los datos. Es la inversión con mejor relación costo-beneficio de todo el stack.

El tema que casi nadie mira: splits y dividendos

Acá es donde se arruinan la mayoría de los backtests de acciones sin que el autor se entere.

Por eso existen dos tipos de precio:

Regla práctica: backtesteá señales con precios ajustados por splits siempre, y decidí caso por caso si querés total return (con dividendos) o price return. Lo que nunca podés hacer es mezclar series ajustadas y crudas sin darte cuenta.
import yfinance as yf

# auto_adjust=True devuelve precios ajustados por splits y dividendos
df = yf.download("AAPL", start="2015-01-01", auto_adjust=True)

Mi recomendación por caso de uso

Empezá gratis para entender el problema. Pero el día que tu decisión mueve dinero, los datos buenos dejan de ser un lujo y pasan a ser parte del edge.

— José

// ¿te sirvió? compartilo
#backtesting#data#datos#infraestructura
José Franco
José Franco
Algorithmic Trading Engineer

+18 años en tecnología, construyendo la infraestructura de trading algorítmico que los mercados exigen. Operando mercados US desde Buenos Aires.